use*_*656 1 django-rest-framework
我有一个通用视图设置自定义操作,我只想从此操作中删除身份验证和权限类。我尝试了以下方法,但它不起作用。
class ExampleView(GenericViewSet,
mixins.ListModelMixin,
mixins.DestroyModelMixin,
mixins.CreateModelMixin,
):
authentication_classes = [SessionAuthentication, BasicAuthentication]
permission_classes = [IsAuthenticated]
def custom_action(self, request, format=None):
self.authentication_classes = []
self.permission_classes = []
Run Code Online (Sandbox Code Playgroud)
当您使用操作装饰器标记用于路由的自定义操作时,您应该能够指定权限类和身份验证类。
例如:
class ExampleView(GenericViewSet,
mixins.ListModelMixin,
mixins.DestroyModelMixin,
mixins.CreateModelMixin,
):
authentication_classes = [SessionAuthentication, BasicAuthentication]
permission_classes = [IsAuthenticated]
@action(detail=False, permission_classes=[AllowAny], authentication_classes=[])
def custom_action(self, request, format=None):
...
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
945 次 |
| 最近记录: |