diff options
| author | Tom Christie | 2015-01-28 09:05:51 +0000 | 
|---|---|---|
| committer | Tom Christie | 2015-01-28 09:05:51 +0000 | 
| commit | 761f264f59f16edf4fef32c9727066b7b2459f6d (patch) | |
| tree | 9253c9763736082422aaca20fb19d595b2aef3b9 /rest_framework | |
| parent | 0daf160946db4f2fed6a237136d738d954b841c0 (diff) | |
| parent | 65bca59ea548dc5e2222be06ca20b3d3fa151cf0 (diff) | |
| download | django-rest-framework-761f264f59f16edf4fef32c9727066b7b2459f6d.tar.bz2 | |
Merge pull request #2473 from tomchristie/reload-settings
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) | 
