在我的django应用程序中发生了一些奇怪的事情,我似乎无法追溯到某个特定的变化。
每当我运行python manage.py runserver
时,我都会收到此错误:
CommandError: You must set settings.ALLOWED_HOSTS if DEBUG is False.
我的设置模块配置正确 - 我有DEBUG=True
,我也设置了ALLOWED_HOSTS
。
我继续调查,似乎不知何故,Django决定导入错误的设置模块。
当我执行from django.conf import settings
并打印settings.__dict__
时,我看到了这一点:
{'LANGUAGE_CODE': 'en-us', 'LOGGING': {}, 'DEBUG': False, 'USE_I18N': True, 'INSTALLED_APPS': ('django_nose',), 'FORCE_SCRIPT_NAME': None, 'LOGGING_CONFIG': 'logging.config.dictConfig', '_wrapped': <Settings "django.conf.global_settings">}
似乎DJANGO_SETTINGS_MODULE
以某种方式设置为django.conf.global_settings
。
我已尝试在manage.py中明确地通过设置os.environ['DJANGO_SETTINGS_MODULE']
覆盖此设置,但这似乎无法修复任何内容(尽管env。变量似乎在此之后设置正确)。但是,我的设置文件仍然具有相同的奇怪值。
我还尝试卸载django-nose
,认为这可能是罪魁祸首(因为它似乎是这个奇怪的设置文件中安装的唯一应用)。但这似乎没有改变任何东西。