Django-在实际上不是的情况下,将Debug设置为True

问题描述

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

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

我尝试使用service Nginx restartsupervisorctl 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

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...