blob: 1acaad0c3ac4ec1b7bd40db47bc385d57fd3acb7 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
|
"""
Settings for REST framework are all namespaced in the API_SETTINGS setting.
For example your project's `settings.py` file might look like this:
API_SETTINGS = {
'DEFAULT_RENDERERS': (
'djangorestframework.renderers.JSONRenderer',
'djangorestframework.renderers.YAMLRenderer',
)
'DEFAULT_PARSERS': (
'djangorestframework.parsers.JSONParser',
'djangorestframework.parsers.YAMLParser',
)
}
"""
from django.conf import settings
from djangorestframework import renderers
from djangorestframework.compat import yaml
DEFAULTS = {
'DEFAULT_RENDERERS': (
renderers.JSONRenderer,
renderers.JSONPRenderer,
renderers.DocumentingHTMLRenderer,
renderers.DocumentingXHTMLRenderer,
renderers.DocumentingPlainTextRenderer,
renderers.XMLRenderer
)
}
if yaml:
DEFAULTS['DEFAULT_RENDERERS'] += (renderers.YAMLRenderer, )
class APISettings(object):
def __getattr__(self, attr):
try:
return settings.API_SETTINGS[attr]
except (AttributeError, KeyError):
# 'API_SETTINGS' does not exist,
# or requested setting is not present in 'API_SETTINGS'.
try:
return DEFAULTS[attr]
except KeyError:
raise AttributeError("No such setting '%s'" % attr)
api_settings = APISettings()
|