django - 如何使用 Django REST Framework 在权限中访问命名的 url 参数?

标签 django django-rest-framework

我有一个 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

我如何访问 idMyCustomPermission ?我无法从 request 中找到它或来自 *args*kwargs .文档对此没有任何说明。我试图查看源代码,但找不到如何访问那些命名的 url 参数。甚至有可能吗?

最佳答案

这是错误的做法。与其尝试在那里访问关键字参数,不如使用 object-level permissions并检查 has_object_permission 在您的权限类中。

关于django - 如何使用 Django REST Framework 在权限中访问命名的 url 参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47305479/

相关文章:

python - 如何使用非orm模型进行自定义分页

python - 为什么 Django post_save 信号给我 pre_save 数据?

django - 如何在 django admin 中将 prepopulated_field 与电子邮件一起使用而不省略特殊字符

python - 字段 'id' 需要一个数字但得到了 'natsu' django

python - 如何在 django-rest-framework 查询集响应中添加注释数据?

django - Django elasticsearch DSL DRF建议问题

python - Django:检查object.filter列表中是否存在值

django - Django使用自定义排序规则进行查询

python - 帖子请求中禁止 (403) - django rest-react

python - Django 三元关系