点赞 + 关注 + 收藏 = 学会了
本文简介
上一篇文章介绍了如何使用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/
可以看到返回到内容。
点赞 + 关注 + 收藏 = 学会了