首页 > 行业数据 >

Django REST Framework-如何使用视图集(二)_世界快资讯

时间:2023-04-26 20:30:49


【资料图】

下面是一个完整的 DRF 视图集示例,包括定义视图集、注册视图集、定制视图集操作等:

from rest_framework import viewsetsfrom rest_framework.permissions import IsAuthenticatedfrom .models import Bookfrom .serializers import BookSerializerclass BookViewSet(viewsets.ModelViewSet):    queryset = Book.objects.all()    serializer_class = BookSerializer    permission_classes = [IsAuthenticated]    def perform_create(self, serializer):        serializer.save(author=self.request.user)    def get_queryset(self):        user = self.request.user        return Book.objects.filter(author=user)

在这个例子中,我们定义了一个 BookViewSet视图集,并注册到路由中。BookViewSet提供了默认的 CRUD 操作,但也定制了 perform_create()方法和 get_queryset()方法,以便实现更多功能。在视图集中,我们还使用了 DRF 的权限控制功能,只允许已认证用户访问 API。

from django.urls import path, includefrom rest_framework.routers import DefaultRouterfrom .views import BookViewSetrouter = DefaultRouter()router.register("books", BookViewSet)urlpatterns = [    path("", include(router.urls)),]

在这个例子中,我们使用 DRF 的 DefaultRouter创建了一个路由器,并将 BookViewSet注册到路由器中,命名为 books。然后我们将路由器中的 URL 配置包含在 Django 项目的根 URL 配置中。

关键词:
x 广告
共同抗疫!郑州71岁党员志愿者每天爬6栋楼,提醒800多户居民做核酸

1月4日,郑州市新冠肺炎疫情防控指挥部办公室发布通告对部分区域实施管控措施。这是近半年来,新冠疫情第3次造访郑州。截止至1月10日24时,

安阳疫情最新消息|1月11日8时至12日8时安阳市新增本土确诊病例39例,累计123例

安阳疫情最新消息2022年1月11日8时至12日8时安阳市新型冠状病毒肺炎疫情最新情况1月11日8时至12日8时,全市新增本土确诊病例39例(汤阴县38

迅速高效!“河南抗疫互助通道”网上网下联动 获群众点赞

核酸检测24小时了还没查到结果,怎么办?现在高速下站口的管控政策到底是什么样子的?从洛阳老城区自驾走高速回郑州,收费站还劝返吗?苏八

信阳市疫情防控工作视频调度会召开 陈志伟出席会议

1月11日,市疫情防控工作视频调度会召开。代市长陈志伟出席会议并讲话。听取有关疫情防控重点工作和各县区(管理区、开发区)疫情防控工作

全国最新疫情消息:11日新增本土确诊病例166例 天津市今日启动第二轮全员核酸检测

11日0—24时,31个省(自治区、直辖市)和新疆生产建设兵团报告新增新冠肺炎本土确诊病例166例(河南118例,其中安阳市65例、许昌市41例、

1月12日天津市放假半天 开启第二轮全员核酸检测

1月12日,天津市人民政府发布重要通告,为做好天津市第二轮全员核酸检测工作,全市机关和企事业单位于1月12日(星期三)下午放假半天。广大

x 广告

Copyright ©  2015-2022 东方评测网版权所有  备案号:沪ICP备2020036824号-8   联系邮箱:562 66 29@qq.com