繁体   English   中英

Django无法识别DEBUG = False

[英]Django doesn't recognize DEBUG = False

我正在尝试为Django项目开发404和500错误自定义模板。

当我将DEBUG更改为False时,Django总是返回我:

您看到此错误是因为Django设置文件中的DEBUG = True。 将其更改为False,Django将显示标准的404页面。

将ALLOWED_HOSTS更改为['.domain.com','www.domain.com']后,我得到:

无效的HTTP_HOST标头:“ domain.com”。 您可能需要将u'domain.com'添加到ALLOWED_HOSTS。

我究竟做错了什么? 为什么Django无法识别变量?

值得一提的是,当我创建自定义404/500模板时,我发现更容易设置基于TemplateView的临时类,然后在完成设计后将它们移到Django寻找它们的模板文件夹中。 原因是,一旦您通过了DEBUG问题,您的下一个障碍很可能就是要提供您的静态文件。 在典型设置中,当DEBUG = False时,它们将不会在您的开发计算机上提供服务(除非您已配置为这样做)。 这很重要,因为您正在创建的模板可能依赖于这些文件(css,js文件等)。 无论哪种方式:

1)确保其读数完全相同:

DEBUG = False

2)确保它没有嵌套在if / else语句之类的东西中。

3)在开发环境中,可以保持ALLOWED_HOSTS = ['localhost']以禁止域警告。

4)如果其他所有方法都失败,则可以在其他目录中启动新项目,然后将自动生成的settings.py文件与您拥有的文件进行比较。

在您的项目中找到DJANGO_SETTINGS_MODULE环境变量。

它的值采用python路径语法。 使用它来查找设置文件,因为它是django所使用的文件,并确保DEBUG = False 另外,您可以添加一条print语句,该语句在服务器启动时提供一些视觉反馈。

通过执行python manage.py runserver保存配置后,重新启动开发服务器。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM