権利のはじめに:
スーパユーザのみが指定されたデータにアクセスすることができ、平均的なユーザーはアクセスできませんので、我々は権限コンポーネントを制限する必要があります
使用権コンポーネント
アクセス権のクラスでは:
rest_framework.permissionsがインポート BasePermission #インポートモジュールが継承し たクラスMyPermision(BasePermissionを): メッセージ = 「ではない、スーパーユーザーがいない表示する」 #を全くメッセージが、フロントエンド英語返さない場合は DEFのhas_permission(セルフ、リクエスト、ビュー): IF == 1 request.user.user_type : 返す真の 他: 返す偽
ビュークラスで:
クラスの書籍(APIView): #ここauthentication_classes = [MYAUTH、]#設定でグローバルに使用を設定するので、コメントアウト #唯一のスーパーユーザーは、このインタフェースにアクセスすることができます permission_classesの= [MyPermision、] DEF (自己、要求)GETを: #のリクエストを.userは現在、フロントに到達するために返す必要があり、ユーザーログオンしている 印刷(request.user.name)を 返す(レスポンス「すべての書籍を返します」)
表示効果:
ユーザがアクセスすることはできませんスーパーではありませんので、普通のユーザーは、ログイン後にアクセスします。
エラーが中国を変更する方法を、英語である。しかし、=「中国」というメッセージを指定する必要があります
スーパーユーザは、すべての書籍のインターフェイスを表示するには、ログイン
1、局所
2、グローバルに使用
REST_FRAMEWORK={ "DEFAULT_AUTHENTICATION_CLASSES":["app01.MyAuths.MyAuth",], "DEFAULT_PERMISSION_CLASSES":["app01.MyAuths.MyPermision",] }
3、局部禁用
permission_classes = []