在此处:http://www.django-rest-framework.org/api-guide/routers/#extra-link-and-actions给出的detail_route
示例为:
@detail_route(methods=['post'], permission_classes=[IsAdminOrIsSelf])
def set_password(self, request, pk=None):
pk=None
是第三个参数。转到URL users/{pk}/change-password/$
时可以访问此路由。我的问题是,是否始终提供pk
?为什么默认值为None
?不应该只是:
@detail_route(methods=['post'], permission_classes=[IsAdminOrIsSelf])
def set_password(self, request, pk):
?根据我的理解,用户可以访问此路线的唯一方法是在网址pk
中输入users/{pk}/change-password/$
值(如果未给出值,则不应使用默认值 - 如果它不是,默认为None
)?
答案 0 :(得分:1)
这主要是风格问题。由于Django url解析方法是在正则表达式中使用命名组时将关键字参数传递给视图,并且假设DRF使用命名组,那么我们倾向于使用关键字" style"符号