Я хочу импортировать настройки по умолчанию для django, используя from django.conf import global_settings
, а затем добавить к нему MIDDLEWARE_CLASSES
.Мне нравится делать это с моими настройками, чтобы я знал, что я добавил, и что по умолчанию.Таким образом, мой файл настроек будет выглядеть так:
from django.conf import global_settings
...
global_settings.MIDDLEWARE_CLASSES += (
'debug_toolbar.middleware.DebugToolbarMiddleware',
)
Эта стратегия работает для других настроек, например TEMPLATE_CONTEXT_PROCESSORS
, но когда я пробую ее, она не работает.Я добавил print global_settings.MIDDLEWARE_CLASSES
после добавления Middlware панели отладки, и это был мой вывод при использовании runserver
('django.middleware.common.CommonMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'debug_toolbar.middleware.DebugToolbarMiddleware')
('django.middleware.common.CommonMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'debug_toolbar.middleware.DebugToolbarMiddleware', 'debug_toolbar.middleware.DebugToolbarMiddleware')
Validating models...
0 errors found
Django version 1.3.1, using settings 'canada.settings'
Development server is running at http://127.0.0.1:8000/
Quit the server with CONTROL-C.
Если вы прокрутите список, вы увидите, что он проходит через настройки дважды.Во второй раз он добавляет настройки снова.Как я могу предотвратить это?Чтобы мне пришлось просто жестко кодировать мой MIDDLEWARE_CLASSES
в настройках?Также есть ли веская причина не импортировать настройки django по умолчанию?