rest-framework-@action()裝飾器

路由Routers

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

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

其中:spa

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):
        ...

其中:rest

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