mirror of
https://github.com/encode/django-rest-framework.git
synced 2025-03-29 06:14:25 +03:00
Settings now have default functions
Updated the setting to have a default function.
This commit is contained in:
parent
d07dae6e79
commit
a95984e4d4
|
@ -70,8 +70,8 @@ DEFAULTS = {
|
|||
'PAGINATE_BY_PARAM': None,
|
||||
|
||||
# View configuration
|
||||
'VIEW_NAME_FUNCTION': None,
|
||||
'VIEW_DESCRIPTION_FUNCTION': None,
|
||||
'VIEW_NAME_FUNCTION': 'rest_framework.utils.formatting.view_name',
|
||||
'VIEW_DESCRIPTION_FUNCTION': 'rest_framework.utils.formatting.view_description',
|
||||
|
||||
# Authentication
|
||||
'UNAUTHENTICATED_USER': 'django.contrib.auth.models.AnonymousUser',
|
||||
|
@ -129,6 +129,8 @@ IMPORT_STRINGS = (
|
|||
'TEST_REQUEST_RENDERER_CLASSES',
|
||||
'UNAUTHENTICATED_USER',
|
||||
'UNAUTHENTICATED_TOKEN',
|
||||
'VIEW_NAME_FUNCTION',
|
||||
'VIEW_DESCRIPTION_FUNCTION'
|
||||
)
|
||||
|
||||
|
||||
|
|
|
@ -49,39 +49,15 @@ def _camelcase_to_spaces(content):
|
|||
def get_view_name(cls, suffix=None):
|
||||
"""
|
||||
Return a formatted name for an `APIView` class or `@api_view` function.
|
||||
If a VIEW_NAME_FUNCTION is set in settings the value of that will be used
|
||||
if that value is "falsy" then the normal formatting will be used.
|
||||
"""
|
||||
if api_settings.VIEW_NAME_FUNCTION:
|
||||
name = api_settings.VIEW_NAME_FUNCTION(cls, suffix)
|
||||
if name:
|
||||
return name
|
||||
|
||||
name = cls.__name__
|
||||
name = _remove_trailing_string(name, 'View')
|
||||
name = _remove_trailing_string(name, 'ViewSet')
|
||||
name = _camelcase_to_spaces(name)
|
||||
if suffix:
|
||||
name += ' ' + suffix
|
||||
return name
|
||||
return api_settings.VIEW_NAME_FUNCTION(cls, suffix)
|
||||
|
||||
|
||||
def get_view_description(cls, html=False):
|
||||
"""
|
||||
Return a description for an `APIView` class or `@api_view` function.
|
||||
If a VIEW_DESCRIPTION_FUNCTION is set in settings the value of that will be used
|
||||
if that value is "falsy" then the normal formatting will be used.
|
||||
"""
|
||||
if api_settings.VIEW_DESCRIPTION_FUNCTION:
|
||||
description = api_settings.VIEW_DESCRIPTION_FUNCTION(cls)
|
||||
if description:
|
||||
return markup_description(description)
|
||||
|
||||
description = cls.__doc__ or ''
|
||||
description = _remove_leading_indent(smart_text(description))
|
||||
if html:
|
||||
return markup_description(description)
|
||||
return description
|
||||
return api_settings.VIEW_DESCRIPTION_FUNCTION(cls)
|
||||
|
||||
|
||||
def markup_description(description):
|
||||
|
@ -93,3 +69,21 @@ def markup_description(description):
|
|||
else:
|
||||
description = escape(description).replace('\n', '<br />')
|
||||
return mark_safe(description)
|
||||
|
||||
|
||||
def view_name(cls, suffix=None):
|
||||
name = cls.__name__
|
||||
name = _remove_trailing_string(name, 'View')
|
||||
name = _remove_trailing_string(name, 'ViewSet')
|
||||
name = _camelcase_to_spaces(name)
|
||||
if suffix:
|
||||
name += ' ' + suffix
|
||||
|
||||
return name
|
||||
|
||||
def view_description(cls, html=False):
|
||||
description = cls.__doc__ or ''
|
||||
description = _remove_leading_indent(smart_text(description))
|
||||
if html:
|
||||
return markup_description(description)
|
||||
return description
|
Loading…
Reference in New Issue
Block a user