diff options
| author | Tom Christie | 2015-01-27 13:51:30 +0000 | 
|---|---|---|
| committer | Tom Christie | 2015-01-27 13:51:30 +0000 | 
| commit | 65bca59ea548dc5e2222be06ca20b3d3fa151cf0 (patch) | |
| tree | 2ed863b4a90daf7839c55ee0db02eb78190d72be /rest_framework | |
| parent | fc70c0862ff3e6183b79adc4675a63874261ddf0 (diff) | |
| download | django-rest-framework-65bca59ea548dc5e2222be06ca20b3d3fa151cf0.tar.bz2 | |
Reload api_settings when using Django's 'override_settings'
Diffstat (limited to 'rest_framework')
| -rw-r--r-- | rest_framework/settings.py | 11 | 
1 files changed, 11 insertions, 0 deletions
| diff --git a/rest_framework/settings.py b/rest_framework/settings.py index fc6dfecd..e5e5edaf 100644 --- a/rest_framework/settings.py +++ b/rest_framework/settings.py @@ -18,6 +18,7 @@ REST framework settings, checking for user settings first, then falling  back to the defaults.  """  from __future__ import unicode_literals +from django.test.signals import setting_changed  from django.conf import settings  from django.utils import importlib, six  from rest_framework import ISO_8601 @@ -198,3 +199,13 @@ class APISettings(object):  api_settings = APISettings(USER_SETTINGS, DEFAULTS, IMPORT_STRINGS) + + +def reload_api_settings(*args, **kwargs): +    global api_settings +    setting, value = kwargs['setting'], kwargs['value'] +    if setting == 'REST_FRAMEWORK': +        api_settings = APISettings(value, DEFAULTS, IMPORT_STRINGS) + + +setting_changed.connect(reload_api_settings) | 
