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