django - 如何在 View 集中添加自定义权限

标签 django django-views django-rest-framework

如何在创建模块时在 django rest 框架的 View 集中添加自定义权限而不是默认权限? 我有权限“fix_an_appointment”。在下面的 View 集中,如何包含此权限?拥有此权限的人只能创建。

我的 views.py 文件:

class settingsViewSet(viewsets.ModelViewSet):
    serializer_class = SettingsSerializer
    queryset = Setting.objects.all()

有人能帮忙吗?

最佳答案

我不能在 ViewSet 的额外操作中使用像这样的装饰器:@permission_classes(IsAuthenticated, )

要在操作中使用不同的权限,请将其作为参数放入 @action() 中。

@action(detail=True, methods=['post'], permission_classes=[IsAdminOrIsSelf])
    def set_password(self, request, pk=None):
       ...

drf doc

关于django - 如何在 View 集中添加自定义权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45793581/

相关文章:

python - sqlalchemy 中的 scoped_session(sessionmaker()) 还是普通的 sessionmaker()?

python - 如何在 Django 查询集中使用 order_by?

python - 在Django中的html模式中加载动态数据

django - Django View 中表单提交的不同重定向

python - Django:vps 还是共享主机?

python - 在 django 自定义模型管理添加页面处理自定义提交按钮的正确方法

jquery - 使用 django 1.10.5 的 Ajax Post 请求错误

django - 如何在DRF路由器中使用参数

Django restful API - 使用 token 获取用户 ID

django - 如何使用 Django REST Framework 将 TextField 作为文字 JSON 提供服务而不转义?