Django-Debug设置为True,而实际上不是



我已经在Ubuntu上部署了我的Django项目,直到最后我都忘了将Debug设置为False,现在,我已经将调试设置为False,将最后一次提交到服务器。因此,现在当我尝试访问一个不存在的url时,例如,它应该显示我的自定义404.html模板。

相反,它显示调试模式404错误,而不是告诉我Debug=True,即使不是,我检查了服务器上的settings.py文件,Debug设置为False。

我尝试用service nginx restartsupervisorctl restart my_app_name重新启动nginx和supervisor,但当我输入一个不存在的url时,它仍然显示Debug设置为True。

为什么它仍然说Debug设置为True?

更新:收到答案后,我仔细研究了可能提出的问题,但没有发现任何问题。此外,当我在本地机器上运行完全相同的项目时,Debug=False可以很好地工作。

如果我在服务器上运行SAME EXACT项目,使用完全相同的代码和文件/文件结构(它们与github"同步"(,则表明Debug设置为True,因此必须有与服务器上的配置相关的内容。

第二次更新:在settings.py文件的ALLOWED_HOSTS列表中添加新域后,它也会忽略这一点。因此,这不仅仅是DEBUG变量的问题,它忽略了对settings.py文件所做的每一次更改。可能是Cloudfare Caching吗?如果是,有什么方法可以防止这种情况发生?

因为是。常见原因:

  • DEBUG=False和30行之后的DEBUG=True
  • DJANGO_SETTINGS_FILE指向另一个文件,然后您在中更改了DEBUG设置
  • 在设置文件的底部,导入另一个文件,通常名为local_settings.py,并且DEBUG=True
  • 设置文件的底部是一些逻辑,用于导入覆盖以前定义的环境变量
  • DEBUG = 'False' # this is True

相关内容

最新更新