mirror of
https://github.com/encode/django-rest-framework.git
synced 2025-07-28 17:09:59 +03:00
Add additional_permission_classes attribute on APIView
This attributes allows adding specific permissions to a view without overriding the default permissions in the settings
This commit is contained in:
parent
0d6589cf45
commit
a9b3c8a68b
|
@ -109,6 +109,7 @@ class APIView(View):
|
||||||
authentication_classes = api_settings.DEFAULT_AUTHENTICATION_CLASSES
|
authentication_classes = api_settings.DEFAULT_AUTHENTICATION_CLASSES
|
||||||
throttle_classes = api_settings.DEFAULT_THROTTLE_CLASSES
|
throttle_classes = api_settings.DEFAULT_THROTTLE_CLASSES
|
||||||
permission_classes = api_settings.DEFAULT_PERMISSION_CLASSES
|
permission_classes = api_settings.DEFAULT_PERMISSION_CLASSES
|
||||||
|
additional_permission_classes = []
|
||||||
content_negotiation_class = api_settings.DEFAULT_CONTENT_NEGOTIATION_CLASS
|
content_negotiation_class = api_settings.DEFAULT_CONTENT_NEGOTIATION_CLASS
|
||||||
metadata_class = api_settings.DEFAULT_METADATA_CLASS
|
metadata_class = api_settings.DEFAULT_METADATA_CLASS
|
||||||
versioning_class = api_settings.DEFAULT_VERSIONING_CLASS
|
versioning_class = api_settings.DEFAULT_VERSIONING_CLASS
|
||||||
|
@ -275,7 +276,8 @@ class APIView(View):
|
||||||
"""
|
"""
|
||||||
Instantiates and returns the list of permissions that this view requires.
|
Instantiates and returns the list of permissions that this view requires.
|
||||||
"""
|
"""
|
||||||
return [permission() for permission in self.permission_classes]
|
permissions = self.permission_classes + self.additional_permission_classes
|
||||||
|
return [permission() for permission in permissions]
|
||||||
|
|
||||||
def get_throttles(self):
|
def get_throttles(self):
|
||||||
"""
|
"""
|
||||||
|
|
Loading…
Reference in New Issue
Block a user