如何在视图集中添加自定义权限

2024-01-01

创建模块时,如何在 django Rest Framework 的视图集中添加除默认权限之外的自定义权限? 我有权限“fix_an_appointment”。在下面的视图集中,如何包含此权限?拥有此权限的人只能进行创作。

我的views.py文件:

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

有人可以帮忙吗?


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

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

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

drf doc https://www.django-rest-framework.org/api-guide/viewsets/#marking-extra-actions-for-routing

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在视图集中添加自定义权限 的相关文章

随机推荐