PyCharm运行Django项目DEBUG为True仍报需设置ALLOWED_HOSTS错误怎么解决
问题排查&解决步骤
- 首先修正
ALLOWED_HOSTS配置的语法错误
你当前写的ALLOWED_HOSTS = [*]是非法Python语法,通配符*需要用引号包裹声明为字符串,正确写法为:
语法错误会导致settings文件加载失败,Django会默认fallback到DEBUG=False的校验逻辑,哪怕你写了DEBUG=True也不会生效。DEBUG = True ALLOWED_HOSTS = ["*"] - 检查PyCharm运行配置是否正确
- 打开PyCharm右上角运行/调试配置的下拉菜单,选择「编辑配置」
- 找到对应Django项目的启动配置,确认「设置文件」路径指向你修改的
config/settings.py,避免加载了其他位置的错误配置 - 检查配置页的「环境变量」栏,确认没有
DEBUG、DJANGO_SETTINGS_MODULE相关的环境变量覆盖本地配置,如有异常可以删除或修改为预期值。
- 排查配置覆盖逻辑
检查你的settings.py文件末尾是否存在类似读取环境变量覆盖DEBUG值、引入local_settings.py等其他配置文件的逻辑,这类代码会覆盖你在文件开头写的DEBUG = True配置,导致修改不生效。 - 验证配置实际生效值
在项目根目录执行以下命令验证配置:
如果输出的DEBUG和ALLOWED_HOSTS和你写的配置不一致,就可以确定是配置被其他逻辑覆盖,往上排查相关代码即可。python manage.py shell -c "from django.conf import settings; print('DEBUG:', settings.DEBUG); print('ALLOWED_HOSTS:', settings.ALLOWED_HOSTS)"
内容的提问来源于stack exchange,提问作者Veaceslav
相关产品推荐
相关产品推荐

