aboutsummaryrefslogtreecommitdiffstats
path: root/rest_framework
diff options
context:
space:
mode:
authorTom Christie2015-01-28 09:05:51 +0000
committerTom Christie2015-01-28 09:05:51 +0000
commit761f264f59f16edf4fef32c9727066b7b2459f6d (patch)
tree9253c9763736082422aaca20fb19d595b2aef3b9 /rest_framework
parent0daf160946db4f2fed6a237136d738d954b841c0 (diff)
parent65bca59ea548dc5e2222be06ca20b3d3fa151cf0 (diff)
downloaddjango-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.py11
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)