1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
|
# Refresh the debug toolbar's configuration when overriding settings.
from debug_toolbar.toolbar import DebugToolbar
from debug_toolbar import settings as dt_settings
from django.dispatch import receiver
from django.test.signals import setting_changed
@receiver(setting_changed)
def update_toolbar_config(**kwargs):
if kwargs['setting'] == 'DEBUG_TOOLBAR_CONFIG':
dt_settings.CONFIG = {}
dt_settings.CONFIG.update(dt_settings.CONFIG_DEFAULTS)
dt_settings.CONFIG.update(kwargs['value'] or {})
# This doesn't account for deprecated configuration options.
@receiver(setting_changed)
def update_toolbar_panels(**kwargs):
if kwargs['setting'] == 'DEBUG_TOOLBAR_PANELS':
dt_settings.PANELS = kwargs['value'] or dt_settings.PANELS_DEFAULTS
DebugToolbar._panel_classes = None
# Not implemented: invalidate debug_toolbar.urls.
# This doesn't account for deprecated panel names.
|