Django - 调试设置为 True,实际上不是

标签 django ubuntu django-deployment

我已经在 Ubuntu 上部署了我的 Django 项目,但我忘记将 Debug 设置为 False 直到最后,
现在我已将调试设置为 False 的最后一次提交拉到服务器。所以现在当我尝试访问一个不存在的 url 时,例如,它应该显示我的自定义 404.html 模板。
相反,它显示 Debug 模式 404 错误,而是告诉我 Debug = True 即使不是,我检查了服务器上的 settings.py 文件并将 Debug 设置为 False。
我尝试使用 service nginx restart 重新启动 nginx 和主管和 supervisorctl restart my_app_name但是当我输入一个不存在的 url 时,它仍然说 Debug 设置为 True。
为什么它仍然说Debug设置为True?
更新:在收到答案后,我检查了可能提出的问题,但没有发现任何问题。此外,当我在本地机器上运行完全相同的项目时,它在 Debug = False 的情况下工作得很好。
如果我在服务器上运行 SAME EXACT 项目,具有相同的确切代码和文件/文件结构(它们与 github“同步”),则表明 Debug 设置为 True,因此必须与配置有关服务器。
第二次更新:在 ALLOWED_HOSTS 中添加新域后settings.py 文件的列表,它也忽略了这一点。所以这不仅仅是 DEBUG 变量的问题,它忽略了对 settings.py 文件所做的每一次更改。
会不会是 Cloudfare 缓存?如果是,有什么方法可以防止这种情况发生?

最佳答案

因为它是。常见原因:

  • DEBUG=False 和 30 行之后 DEBUG=True
  • DJANGO_SETTINGS_FILE 指向不同的文件,然后您更改了
  • 中的 DEBUG 设置
  • 在设置文件的底部另一个文件,通常命名为 local_settings.py已导入且 DEBUG=True
  • 在设置文件的底部是一些导入环境变量覆盖先前定义的逻辑
  • DEBUG = 'False' # this is True
  • 关于Django - 调试设置为 True,实际上不是,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63633197/

    相关文章:

    linux - 合并两个文件夹并保持文件同名

    django - 为什么 Debug模式下的 app/admin false 给我服务器错误 500

    django - 如何将模型默认值获取到 Django 表单中,以便 is_valid 返回 True

    django - 标准 Django 登录身份验证不应该区分大小写吗?

    Django 管理员 : Class Media

    python - ipython 笔记本服务器设置调试

    python - 如何循环遍历 html 文件中的 Django 查询集?

    mongodb - 无法使用 mongo shell 连接到远程 mongodb

    python - 在heroku-18堆栈上部署python 3.6.5 Django应用程序

    python - 部署 Django : How do you do it?