rest-framework-@action()裝飾器


路由Routers

使用方法:   在urls.py中定義路由

from rest_framework.routers import DefaultRouter
# 定義視圖集的路由
router = DefaultRouter()
router.register(r'books',new_views.BookInfoViewSet,base_name='book')
# 將試圖集的路由添加到urlpattens
urlpatterns += router.urls

其中:

register(prefix, viewset, base_name)
    prefix 該視圖集的路由前綴
    viewset 視圖集
    base_name 路由名稱的前綴

 

視圖集中附加action的聲明

from rest_framework.decorators import action  
# 追加action:返回書記的倒敘地0個書籍的信息
    @action(methods=['get'],detail=False)
    def latest(self, request):
        """
  # 追加action 修改圖書的閱讀數量
    @action(methods=['put'],detail=True)
    def read(self, request, pk):
        ...

其中:

@action()
action裝飾器可以接收兩個參數:
    methods: 聲明該action對應的請求方式,列表傳遞
    detail: 聲明該action的路徑是否與單一資源對應,及是否是xxx/<pk>/action方法名/
        True 表示路徑格式是xxx/<pk>/action方法名/
        False 表示路徑格式是xxx/action方法名/

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM