『Django』APIView基于类的用法

点赞 + 关注 + 收藏 = 学会了

本文简介

上一篇文章介绍了如何使用APIView创建各种请求方法,介绍的是通过函数的方式写接口。

本文要介绍 Django 提供的基于类(Class)来实现的 APIView 用法,代码写起来更简单。

APIView基于类的基础用法

首先了解一下类的写法。

我们基于上一讲的代码,在 blog/views.py 里新增一个 apiBlogs

python 复制代码
# blog/views.py

from rest_framework.views import APIView
from rest_framework.response import Response
from blog.models import Article
from .serializers import BlogListSerializer
from rest_framework.views import APIView

class apiBlogs(APIView):
    def get(self, request):
        try:
            blogs = Article.objects.all()
        except:
            return Http404
        serializer = BlogListSerializer(blogs, many=True)
        return Response(serializer.data, status=status.HTTP_200_OK)

在这个 apiBlogs 中,定义了一个 get 请求方法的处理逻辑,尝试获取 Article.objects.all() 的所有内容,获取到相关内容后再通过 return Response() 传回给客户端。

然后在 blog/urls.py 中定义这个路由。

python 复制代码
# blog/urls.py

from django.urls import path
from . import views

urlpatterns = [
  path("apiBlogs/", views.apiBlogs.as_view())
]

在浏览器访问 http://127.0.0.1:8000/api/blog/apiBlogs/ 可以看到返回到内容。


点赞 + 关注 + 收藏 = 学会了

相关推荐
8***f3954 分钟前
工作中常用springboot启动后执行的方法
java·spring boot·后端
Cisyam16 分钟前
openGauss + LangChain Agent实战:从自然语言到SQL的智能数据分析助手
后端
BBB努力学习程序设计17 分钟前
Python错误处理艺术:从崩溃到优雅恢复的蜕变
python·pycharm
我叫黑大帅22 分钟前
什么叫可迭代对象?为什么要用它?
前端·后端·python
FleetingLore23 分钟前
C C51 | 按键的单击、双击和长按的按键动作检测
后端
Dillon Dong32 分钟前
Django + uWSGI 部署至 Ubuntu 完整指南
python·ubuntu·django
v***88561 小时前
Springboot项目:使用MockMvc测试get和post接口(含单个和多个请求参数场景)
java·spring boot·后端
k***82511 小时前
python爬虫——爬取全年天气数据并做可视化分析
开发语言·爬虫·python
IMPYLH1 小时前
Lua 的 require 函数
java·开发语言·笔记·后端·junit·lua
new_dev1 小时前
Python网络爬虫从入门到实战
爬虫·python·媒体