问题描述
我已经在Ubuntu上部署了Django项目,但直到最后我都忘记将Debug设置为False, 现在,我已将调试设置为False的最后一次提交拉到服务器。因此,例如,现在当我尝试访问不存在的URL时,它应该显示我的自定义404.html模板。
相反,它显示Debug模式404错误,而不是告诉我Debug = True(即使不是),我检查了服务器上的settings.py文件,并将Debug设置为False。
我尝试使用service Nginx restart
和supervisorctl restart my_app_name
重新启动Nginx和超级用户,但是当我输入不存在的URL时,它仍然说Debug设置为True。
为什么它仍然说Debug设置为True?
更新:收到答案后,我仔细研究了所提出的可能问题,但没有发现任何问题。此外,当我在本地计算机上运行完全相同的项目时,使用Debug = False即可正常工作。
如果我在服务器上运行SAME EXACT项目,并使用相同的确切代码和文件/文件结构(它们与github“同步”),则表明Debug设置为True,因此必须与服务器上的配置。
第二次更新:在settings.py文件的ALLOWED_HOSTS
列表中添加了一个新域之后,它也无需理会。因此,这不仅是DEBUG变量的问题,它还无视对settings.py文件所做的所有更改。
难道是Cloudfare缓存?如果是,那么如何防止这种情况发生?
解决方法
因为是。常见原因:
- DEBUG = False和30行之后DEBUG = True
- DJANGO_SETTINGS_FILE指向另一个文件,然后您在其中更改了DEBUG设置
- 在设置文件的底部,导入了另一个名为
local_settings.py
的文件,该文件的名称为DEBUG = True
设置文件底部的 - 是一些逻辑,用于导入环境变量以覆盖先前的定义
-
DEBUG = 'False' # this is True