Skip to content

Commit cae82d4

Browse files
author
Emanuele Palazzetti
committed
[django] settings evaluation is lazy
1 parent d9bd12f commit cae82d4

File tree

1 file changed

+7
-5
lines changed

1 file changed

+7
-5
lines changed

ddtrace/contrib/django/conf.py

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -19,13 +19,11 @@
1919
from django.test.signals import setting_changed
2020

2121

22-
USER_SETTINGS = getattr(django_settings, 'DATADOG_TRACE', None)
23-
2422
# List of available settings with their defaults
2523
DEFAULTS = {
2624
'TRACER': 'ddtrace.tracer',
2725
'DEFAULT_SERVICE': 'django',
28-
'ENABLED': not django_settings.DEBUG,
26+
'ENABLED': True,
2927
}
3028

3129
# List of settings that may be in string import notation.
@@ -77,7 +75,11 @@ def __init__(self, user_settings=None, defaults=None, import_strings=None):
7775
@property
7876
def user_settings(self):
7977
if not hasattr(self, '_user_settings'):
80-
self._user_settings = getattr(settings, 'DATADOG_TRACE', {})
78+
self._user_settings = getattr(django_settings, 'DATADOG_TRACE', {})
79+
80+
# TODO[manu]: prevents docs import errors; provide a better implementation
81+
if 'ENABLED' not in self._user_settings:
82+
self._user_settings['ENABLED'] = not django_settings.DEBUG
8183
return self._user_settings
8284

8385
def __getattr__(self, attr):
@@ -109,7 +111,7 @@ def __check_user_settings(self, user_settings):
109111
return user_settings
110112

111113

112-
settings = DatadogSettings(USER_SETTINGS, DEFAULTS, IMPORT_STRINGS)
114+
settings = DatadogSettings(None, DEFAULTS, IMPORT_STRINGS)
113115

114116

115117
def reload_settings(*args, **kwargs):

0 commit comments

Comments
 (0)