我本地创建了一个Django项目,添加了Django 服务器配置
但是结果报错:CommandError: You must set settings.ALLOWED_HOSTS if DEBUG is False.
我的settings.py已经设置了
# SECURITY WARNING: don't run with debug turned on in production!
DEBUG = True
ALLOWED_HOSTS = ['*']
请问是什么原因,该怎么解决?
我本地创建了一个Django项目,添加了Django 服务器配置
但是结果报错:CommandError: You must set settings.ALLOWED_HOSTS if DEBUG is False.
我的settings.py已经设置了
# SECURITY WARNING: don't run with debug turned on in production!
DEBUG = True
ALLOWED_HOSTS = ['*']
请问是什么原因,该怎么解决?
原因分析:
.env
文件或系统环境变量设置了DEBUG=False
python manage.py runserver --settings=other_settings
指定了其他配置local_settings.py
等额外配置文件覆盖了设置DEBUG="True"
)解决方案:
在出现错误的异常位置打印当前配置:
# settings.py 顶部添加临时调试代码
import sys
print(f"DEBUG状态: {DEBUG}", file=sys.stderr)
print(f"ALLOWED_HOSTS: {ALLOWED_HOSTS}", file=sys.stderr)
检查环境变量:
# 查看所有环境变量
printenv | grep DJANGO
强制配置(临时方案):
# settings.py 显式设置
DEBUG = True
ALLOWED_HOSTS = ['*', 'localhost', '127.0.0.1']
启动时指定配置:
python manage.py runserver --insecure --settings=your_project.settings
常见陷阱:
python manage.py test
时也会检查ALLOWED_HOSTSsettings
目录时,可能加载了错误的配置文件django-environ
等库但没有正确配置数据类型1 回答10.2k 阅读✓ 已解决
4 回答4.1k 阅读✓ 已解决
2 回答4.1k 阅读✓ 已解决
4 回答3.6k 阅读✓ 已解决
3 回答1.8k 阅读✓ 已解决
3 回答4.8k 阅读
1 回答4.3k 阅读✓ 已解决