真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

自動(dòng)生成路由和action的使用

自動(dòng)生成路由

普通cbv視圖形式的路由:

創(chuàng)新互聯(lián)建站專注于靖江網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗(yàn)。 熱誠為您提供靖江營銷型網(wǎng)站建設(shè),靖江網(wǎng)站制作、靖江網(wǎng)頁設(shè)計(jì)、靖江網(wǎng)站官網(wǎng)定制、微信平臺(tái)小程序開發(fā)服務(wù),打造靖江網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供靖江網(wǎng)站排名全網(wǎng)營銷落地服務(wù)。

    path('books4/', views.Book4View.as_view()),
    re_path('books4/(?P\d+)', views.Book4DetailView.as_view())

繼承了ViewSetMixin及其子類的視圖路由:

    path('books5/', views.Book5View.as_view(actions={'get':'list','post':'create'})), #當(dāng)路徑匹配,又是get請(qǐng)求,會(huì)執(zhí)行Book5View的list方法
    re_path('books5/(?P\d+)', views.Book5View.as_view(actions={'get':'retrieve','put':'update','delete':'destroy'})),

繼承自視圖類,ViewSetMixin及其子類的路由寫法(自動(dòng)生成路由):

        # 第一步:導(dǎo)入routers模塊
        from rest_framework import routers
        # 第二步:有兩個(gè)類,實(shí)例化得到對(duì)象
        # routers.DefaultRouter 生成的路由更多,一般用第二種就行
        # routers.SimpleRouter
        router=routers.DefaultRouter()
        # 第三步:注冊(cè)
        # router.register('路由前綴','繼承自ModelViewSet視圖類','別名')
        router.register('books',views.BookViewSet) # 不要加斜杠了

        # 第四步
        # router.urls # 自動(dòng)生成的路由,加入到原路由中
        # print(router.urls)
        # urlpatterns+=router.urls

action裝飾器

導(dǎo)入:from rest_framework.decorators import action

# action干什么用?為了給繼承自ModelViewSet的視圖類中定義的函數(shù)也添加路由
# 使用
class BookViewSet(ModelViewSet):
    queryset =Book.objects.all()
    serializer_class = BookSerializer
    # methods第一個(gè)參數(shù),傳一個(gè)列表,列表中放請(qǐng)求方式,
    # ^books/get_1/$ [name='book-get-1'] 當(dāng)向這個(gè)地址發(fā)送get請(qǐng)求,會(huì)執(zhí)行下面的函數(shù)
    # detail:布爾類型 如果是True
    #^books/(?P[^/.]+)/get_1/$ [name='book-get-1']
    @action(methods=['GET','POST'],detail=True)
    def get_1(self,request,pk):
        print(pk)
        book=self.get_queryset()[:2]  # 從0開始截取一條
        ser=self.get_serializer(book,many=True)
        return Response(ser.data)
    
# 裝飾器,放在被裝飾的函數(shù)上方,method:請(qǐng)求方式,detail:是否帶pk

# action里的其他參數(shù):
url_path: 控制生成的/user/后的路徑是什么,如果不寫,默認(rèn)以方法名命名   /user/login/,一般跟函數(shù)名同名即可
url_name:別名,用于反向解析

分享文章:自動(dòng)生成路由和action的使用
本文地址:http://weahome.cn/article/dsogccs.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部