Djangoroidの奮闘記

python,django,angularJS1~三十路過ぎたプログラマーの奮闘記

Django REST Frameworkに再挑戦 その23 Django Rest Framework Settings

概要

Django REST Frameworkに再挑戦 その23 Django Rest Framework Settings

参考サイト

www.django-rest-framework.org

www.codingforentrepreneurs.com

Django Rest Framework Settings

  • Django Rest Frame WorkのSettingsについて見てみる。

Settings - Django REST framework

  • settings.pyに、追記する。
REST_FRAMEWORK = {
    'DEFAULT_RENDERER_CLASSES': (
        'rest_framework.renderers.JSONRenderer',
    ),
    'DEFAULT_PARSER_CLASSES': (
        'rest_framework.parsers.JSONParser',
    )
}
  • Classesの箇所は、タプル形式になっているので、追記できる。 'rest_framework.renderers.BrowsableAPIRenderer'もデフォルトで設定されている。手動で設定する場合は、以下のような形で挿入する。
REST_FRAMEWORK = {
    'DEFAULT_RENDERER_CLASSES': (
        'rest_framework.renderers.JSONRenderer',
        'rest_framework.renderers.BrowsableAPIRenderer',
    ),
    'DEFAULT_PARSER_CLASSES': (
        'rest_framework.parsers.JSONParser',
    ),
}
  • DEFAULT_AUTHENTICATION_CLASSESの設定をする。
    'DEFAULT_AUTHENTICATION_CLASSES':(
        'rest_framework.authentication.SessionAuthentication',
        # 'rest_framework.authentication.BasicAuthentication', #こちらはオススメしないとのこと。
    ),
  • DEFAULT_PERMISSION_CLASSESの設定をする。
    'DEFAULT_PERMISSION_CLASSES':(
        'rest_framework.permissions.AllowAny',
    )
  • 例えば、IsAuthenticatedをデフォルトにしたい場合は、以下のように設定する。
    'DEFAULT_PERMISSION_CLASSES':(
        'rest_framework.permissions.IsAuthenticated',
    ),
  • その場合、デフォルトのpermission_classesが、IsAuthenticatedになるため、各APIViewのpermission_classesを修正していく。