我有一个 url 配置,比如url(r'^user/(?P<id>[0-9]+)/$', UserView.as_view())
和一个 View 类
class UserView(GenericAPIView):
serializer_class = UserSerializer
permission_classes = [MyCustomPermission]
def get(self, request, id):
# code...
权限就像
class MyCustomPermission(BasePermission):
def has_permission(self, request, view, *args, **kwargs):
# code
我如何访问
id
在 MyCustomPermission
?我无法从 request
中找到它或来自 *args
或 *kwargs
.文档对此没有任何说明。我试图查看源代码,但找不到如何访问那些命名的 url 参数。甚至有可能吗?
最佳答案
这是错误的做法。与其尝试在那里访问关键字参数,不如使用 object-level permissions并检查 has_object_permission
在您的权限类中。
关于django - 如何使用 Django REST Framework 在权限中访问命名的 url 参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47305479/