0

特定应用程序如何设置权限我有我的Django项目中的两个REST应用:在Django的REST框架

  1. api - 应该是AllowAnyReadOnly
  2. apicrm - 应该是rest_framework.permissions.IsAuthenticated

如何设置这个权限整个应用程序在Django的REST框架?

回答

0

使本地CONFI像:

API

class apiView(viewsets.ModelViewSet) .... { 
    permission_classes =() 
    authentication_classes =() 
} 

apicrm

class apiView(viewsets.ModelViewSet) .... { 
    permission_classes = (IsAuthenticated) 
    authentication_classes = (JSONWebTokenAuthentication,) 
} 
+0

你的意思是让每一个视图集中在应用程序? – yestema

0

我不认为有任何全局设置定义应用程序的权限。 我在这里可以想到的是使用适当的权限类来创建一个基础视图类。

api应用

class BaseApiViewSet(viewsets.ModelViewSet): 
    permission_classes = (AllowAny,) 

# inherit BaseApiViewSet in all other viewsets 
class ViewSet1(BaseApiViewSet): 
    # code as it is 

apicrm应用

class BaseApiCrmViewSet(viewsets.ModelViewSet): 
    permission_classes = (IsAuthenticated,) 

# similary, inherit from BaseApiCrmViewSet in all other viewsets