nat*_*ila 9 django-rest-framework
如标题,
什么是关于不同list_route和detail_routeDjango中休息的框架?
如果我想获得1的URL xxx/books/1/,
我怎么能写url.py和views.py?
小智 10
@list_route并且@detail_route是我们可以添加到a的额外操作ViewSet.两者都在视图集中提供自定义路由工具.ViewSet装饰上的任何方法@detail_route或@list_route也将被路由.list_route将提供所有相关记录,而detail_route只提供特定记录.例如,在UserViewSet类上给出类似这样的方法:
class UserViewSet(ModelViewSet):
...
@detail_route(methods=['post'], permission_classes=[IsAdminOrIsSelf])
def set_password(self, request, pk=None):
Run Code Online (Sandbox Code Playgroud)
此外还会生成以下URL模式:
URL pattern: ^users/{pk}/set_password/$ Name: 'user-set-password'
Run Code Online (Sandbox Code Playgroud)
有关路由器的更多信息,您可以访问有关路由器的官方Django Rest Rramewrok文档.
如果你想拿到xxx/books/1/那么你的url.py和views.py应该是这样的.
urls.py:
url(r'^xxx/books/(?P<id>[0-9]+)$', views.myview)
Run Code Online (Sandbox Code Playgroud)
views.py:
@csrf_exempt
def myview(request , id):
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10471 次 |
| 最近记录: |