diff options
| author | Tom Christie | 2012-09-03 15:57:43 +0100 |
|---|---|---|
| committer | Tom Christie | 2012-09-03 15:57:43 +0100 |
| commit | 149b00a070fcbfd44feee5b37096081e18356f93 (patch) | |
| tree | 4ce2586f6a15613625a23d80b4624e64a9b94de6 /djangorestframework/settings.py | |
| parent | 7abef9ac3b3fb20a6cdef5d52c640e5725c93437 (diff) | |
| download | django-rest-framework-149b00a070fcbfd44feee5b37096081e18356f93.tar.bz2 | |
Added the api_view decorator
Diffstat (limited to 'djangorestframework/settings.py')
| -rw-r--r-- | djangorestframework/settings.py | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/djangorestframework/settings.py b/djangorestframework/settings.py new file mode 100644 index 00000000..1acaad0c --- /dev/null +++ b/djangorestframework/settings.py @@ -0,0 +1,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() |
