特定视图的休息框架权限

时间:2018-03-15 15:45:16

标签: django-rest-framework

我希望只有经过身份验证的用户才能为特定视图添加,创建,删除...(并非所有视图)。

这是我的settings.py

[settings.py]

REST_FRAMEWORK = {
    'DEFAULT_PERMISSION_CLASSES': (
        'rest_framework.permissions.IsAuthenticatedOrReadOnly',
    ),
    'DEFAULT_AUTHENTICATION_CLASSES': (
        'rest_framework.authentication.TokenAuthentication',
    )
}

执行此操作后,意外地,每个视图都应用了IsAuthenticatedOrReadOnly权限。

所以我添加了这一行,

'rest_framework.permissions.AllowAny',

并在views.py中,

查看不需要权限的地方,添加此行。

permission_classes = (AllowAny,)

完美无缺。但我想知道这是正确的方法吗?

我只是将'rest_framework.authentication.TokenAuthentication',插入settings.py

但是为什么这个权限适用于每个视图?

1 个答案:

答案 0 :(得分:2)

是的,这是正确的方法,您为每个视图设置了默认权限和视图特定权限。

根据DRF文档,如果您未在设置中设置默认权限,则默认为AllowAny

Django Rest Framework permissions包含您问题的所有答案