(相關(guān)資料圖)
下面是一個(gè)完整的 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)
在這個(gè)例子中,我們定義了一個(gè) BookViewSet
視圖集,并注冊到路由中。BookViewSet
提供了默認(rèn)的 CRUD 操作,但也定制了 perform_create()
方法和 get_queryset()
方法,以便實(shí)現(xiàn)更多功能。在視圖集中,我們還使用了 DRF 的權(quán)限控制功能,只允許已認(rèn)證用戶訪問 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)),]
在這個(gè)例子中,我們使用 DRF 的 DefaultRouter
創(chuàng)建了一個(gè)路由器,并將 BookViewSet
注冊到路由器中,命名為 books
。然后我們將路由器中的 URL 配置包含在 Django 項(xiàng)目的根 URL 配置中。
關(guān)鍵詞:
Django REST Framework-如何使用視圖集(二) 天天微動(dòng)態(tài)
2023-04-26下行周期背后的“寧王”,產(chǎn)能過剩風(fēng)險(xiǎn)激增,市值縮水超7000億 環(huán)球要聞
2023-04-26天天短訊!武漢黃陂交警發(fā)布五一假期黃陂區(qū)旅游暢行攻略
2023-04-26全年收入增長穩(wěn)健,國信證券維持歐派家居“買入”評級
2023-04-26猶太巨富盛智文:20歲來華愛上香港,60歲攜百億資產(chǎn)入籍中國_天天亮點(diǎn)
2023-04-26貴州貴定:家園中有孵化園、安居所即“樂業(yè)”地
2023-04-26不生育起訴離婚有用嗎
2023-04-26世界快資訊丨哈里斯緊跟拜登宣布:將再次與拜登搭檔競選連任
2023-04-26五一精彩活動(dòng)出爐!5天變著花樣玩! 世界觀熱點(diǎn)
2023-04-26垃圾除臭的工藝
2023-04-26Django REST Framework-如何使用視圖集(二) 天天微動(dòng)態(tài)
2023-04-26下行周期背后的“寧王”,產(chǎn)能過剩風(fēng)險(xiǎn)激增,市值縮水超7000億 環(huán)球要聞
2023-04-26天天短訊!武漢黃陂交警發(fā)布五一假期黃陂區(qū)旅游暢行攻略
2023-04-26全年收入增長穩(wěn)健,國信證券維持歐派家居“買入”評級
2023-04-26猶太巨富盛智文:20歲來華愛上香港,60歲攜百億資產(chǎn)入籍中國_天天亮點(diǎn)
2023-04-26貴州貴定:家園中有孵化園、安居所即“樂業(yè)”地
2023-04-26不生育起訴離婚有用嗎
2023-04-26世界快資訊丨哈里斯緊跟拜登宣布:將再次與拜登搭檔競選連任
2023-04-26五一精彩活動(dòng)出爐!5天變著花樣玩! 世界觀熱點(diǎn)
2023-04-26垃圾除臭的工藝
2023-04-26Copyright 2015-2022 太平洋超市網(wǎng)版權(quán)所有 備案號(hào):豫ICP備2022016495號(hào)-17 聯(lián)系郵箱:93 96 74 66 9@qq.com