我正在阅读http://www.django-rest-framework.org/api-guide/permissions/并尝试将其与OAuth2工具包文档http://django-oauth-toolkit.readthedocs.io/en/latest/rest-framework/getting_started.html相关联。后者有一个例子,其中settings.py
一个指定
REST_FRAMEWORK = {
# ...
'DEFAULT_PERMISSION_CLASSES': (
'rest_framework.permissions.IsAuthenticated',
)
}
此外,IsAuthenticated
也被指定添加到permission_classes
的{{1}}列表中:
ModelViewSet
我是否从此示例中正确推断class UserViewSet(viewsets.ModelViewSet):
permission_classes = [permissions.IsAuthenticated, TokenHasReadWriteScope]
queryset = User.objects.all()
serializer_class = UserSerializer
未预先/后添加到DEFAULT_PERMISSION_CLASSES
的权限类,而是由其替换?
答案 0 :(得分:1)
在Django REST框架中,默认权限类如何与每个视图(集)结合?
他们没有合并。
... DEFAULT_PERMISSION_CLASSES没有预先/后缀到ModelViewSet的权限类,而是替换为它?
正确。
答案 1 :(得分:1)
我是否从这个例子中正确地推断出了
DEFAULT_PERMISSION_CLASSES
不会被添加到/后添加到ModelViewSet
的权限类,但由它替换?
DEFAULT_PERMISSION_CLASSES
用于未定义permission_classes
的视图/视图集。在定义它们的情况下,使用它们而不是默认值。