Files
drf-rack/net/xeaf/rack/utils/settings/configs/drf.py

47 lines
1.5 KiB
Python

# DRF Rack
# Библиотека классов расширений для Django REST Framework
#
# Автор: Николай В. Анохин <n.anokhin@xeaf.net>
# Все права защищены. Лицензия: MIT
"""
Параметры конфигурации Django REST Framework
"""
from net.xeaf.rack.utils.settings import SettingUtils
#
# Настройка представления результатов вызова API
#
REST_FRAMEWORK_RENDERER = (
'djangorestframework_camel_case.render.CamelCaseJSONRenderer',
)
#
# Только для режима отладки
#
if SettingUtils.is_debug_mode():
REST_FRAMEWORK_RENDERER += ('djangorestframework_camel_case.render.CamelCaseBrowsableAPIRenderer',)
#
# Настройки Django Rest Framework
#
REST_FRAMEWORK = {
'DEFAULT_RENDERER_CLASSES': REST_FRAMEWORK_RENDERER,
'DEFAULT_PERMISSION_CLASSES': [
'rest_framework.permissions.IsAuthenticated',
],
'DEFAULT_PARSER_CLASSES': (
'djangorestframework_camel_case.parser.CamelCaseFormParser',
'djangorestframework_camel_case.parser.CamelCaseMultiPartParser',
'djangorestframework_camel_case.parser.CamelCaseJSONParser',
),
'DEFAULT_AUTHENTICATION_CLASSES': [
'net.xeaf.rack.utils.drf.ExpiringTokenAuthentication',
'rest_framework.authentication.SessionAuthentication',
],
'DEFAULT_PAGINATION_CLASS': 'rest_framework.pagination.PageNumberPagination',
'PAGE_SIZE': 10,
'EXCEPTION_HANDLER': 'net.xeaf.rack.utils.drf.custom_exception_handler'
}