『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/ 可以看到返回到内容。


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

相关推荐
JavaGuide9 分钟前
微信面试:什么是一致性哈希算法?适用什么场景?
后端·面试
Charlie_lll12 分钟前
力扣解题-88. 合并两个有序数组
后端·算法·leetcode
茶杯梦轩15 分钟前
从零起步学习并发编程 || 第九章:Future 类详解及CompletableFuture 类在项目实战中的应用
服务器·后端·面试
Jiude30 分钟前
AI 全栈时代的工程化护栏:Vben-Nest 让 Mock 契约落地成真实后端
前端·后端·nestjs
deephub34 分钟前
向量搜索系统的三个核心优化维度:速度、精度与规模
人工智能·python·rag·检索
每天进步一点_JL1 小时前
分布式系统中如何保证幂等,数据一致性 - 案例
后端
嘻哈baby1 小时前
MySQL数据库cpu飙升到500%该如何处理?
后端
勇往直前plus1 小时前
python格式化字符串
开发语言·前端·python
彡Summer丶1 小时前
后台管理系统实战
后端
Java编程爱好者1 小时前
字节Trae IDE全模式深度解析+Java后端实战技巧,架构师面试效率拉满
后端