Это возможно путем расширения jwt-представления и использования вновь созданного представления.См. Пример ниже,
# permissions.py
from rest_framework.permissions import BasePermission
class MyPermissionClass(BasePermission):
# do something with your permission class
pass
# jwt_clone_views.py
from rest_framework_jwt.views import ObtainJSONWebToken, RefreshJSONWebToken, VerifyJSONWebToken
permission_cls = {"permission_classes": (MyPermissionClass,)}
obtain_jwt_token = ObtainJSONWebToken.as_view(**permission_cls)
refresh_jwt_token = RefreshJSONWebToken.as_view(**permission_cls)
verify_jwt_token = VerifyJSONWebToken.as_view(**permission_cls)
# urls.py
from .jwt_clone_views import obtain_jwt_token, refresh_jwt_token, verify_jwt_token
urlpatterns = [
'',
# ...
url(r'^api-token-auth/', obtain_jwt_token),
# and so on
]
Здесь я создал новый модуль с именем jwt_clone_views
, который принимает классы разрешений в качестве параметра.
In urls.py
, я использовал только что созданные представления, которые включают permission_classes
Примечание. Решение не проверялось.