当前位置: 首页 > article >正文

『Django』APIView基于类的用法

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

本文简介

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

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

APIView基于类的基础用法

首先了解一下类的写法。

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

# 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 中定义这个路由。

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

在这里插入图片描述


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


http://www.kler.cn/a/384780.html

相关文章:

  • 设计模式(主要的五种)
  • Vue3中使用LogicFlow实现简单流程图
  • ASAN ThreadSanitizer定位多线程(资源管理)
  • ArcGIS Pro SDK (二十五)工作流管理器
  • 【Python爬虫实战】DrissionPage 与 ChromiumPage:高效网页自动化与数据抓取的双利器
  • H7-TOOL的CAN/CANFD助手增加帧发送成功标识支持, 继续加强完善功能细节
  • 创建线程时传递参数给线程
  • 基于51单片机超声波测距
  • Flutter 鸿蒙next 中使用 MobX 进行状态管理
  • vue3学习---案例实现学习
  • Ubuntu 22.04.5 LTS配置 bond
  • 删除 git submodule
  • 力扣 -- 滑动窗口
  • Pytorch训练时报nan
  • laravel chunkById 分块查询 使用时的问题
  • Spring Cloud Bus快速入门Demo
  • 第九周预习报告
  • qt QItemSelectionModel详解
  • 多个服务器共享同一个Redis Cluster集群,并且可以使用Redisson分布式锁
  • Git LFS
  • 专业130+总400+武汉理工大学855信号与系统考研经验电子信息与通信工程,真题,大纲,参考书。
  • 内置函数【MySQL】
  • 生产环境中使用:带有核函数的 SVM 处理非线性问题
  • Unity 的 WebGL 构建中资源图片访问方式
  • 人工智能:重塑生活与工作的神奇力量
  • WebRTC REMB算法