Chapter 08

Django Rest Frameworkのセットアップ⑥(Settings/パーミッション)

Settings

settings.pyの一部を追記します。
該当する箇所を探して追記、変更してください。

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    # ここから下を追加
    'rest_framework',
    'rest_framework.authtoken',
    'api.apps.ApiConfig',
]

# 変更
LANGUAGE_CODE = 'ja'
TIME_ZONE = 'Asia/Tokyo'

パーミッション

先程views.pyでインポートしていたProfilePermissionを作ります。
ユーザー認証ができているかどうかを判定する部分です。
まず、apiディレクトリ内にownpermissions.pyを作成します。

touch api/ownpermissions.py

ownpermissions.py内は下記のようにします。

from rest_framework import permissions

class ProfilePermission(permissions.BasePermission):
    def has_object_permission(self, request, view, obj):
        if request.method in permissions.SAFE_METHODS:
            return True
        else:
            return False