在使用 DJango 框架修改调试方式 DEBUG = False 时,发现项目运行报错如下:
D:\workspace\workspace-mengll\learning-log\learning_log\settings.py changed, reloading.
Watching for file changes with StatReloader
Performing system checks...System check identified no issues (0 silenced).
March 02, 2024 - 16:48:57
Django version 5.0.2, using settings 'learning_log.settings'
Starting development server at http://127.0.0.1:8001/
Quit the server with CTRL-BREAK.D:\workspace\workspace-mengll\learning-log\learning_log\settings.py changed, reloading.
CommandError: You must set settings.ALLOWED_HOSTS if DEBUG is False.
该错误是由 DJango 框架中的 settings.py 配置文件中 DEBUG 设置为 False 时,但因为未设置ALLOWED_HOSTS 的值而触发的错误。所以在 DEBUG 配置下修改 ALLOWED_HOSTS 配置的值即可解决问题。修改后配置代码如下:
# SECURITY WARNING: don't run with debug turned on in production!
DEBUG = False
ALLOWED_HOSTS = ['localhost']
以上值可以为域名或者 IP 配置,如果为多个值,中间中逗号分隔。如果想配置所有主机或 IP 可访问,则直接配置 ALLOWED_HOSTS = ['*'] 即可。