为了账号安全,请及时绑定邮箱和手机立即绑定

设置DEBUG = False会导致500错误

/ 猿问

设置DEBUG = False会导致500错误

慕后森 2019-10-05 12:57:45

有一次,我改变DEBUG = False,我的网站将产生500(使用WSGI和manage.py runserver命令),并且在Apache的错误日志中没有错误信息,当我改变它通常会运行debug到True。


我正在使用Django 1.5和Python 2.7.3,这是Apache访问日志,并且在apache错误日志中没有任何日志


www.beta800.net:80 222.247.56.11 - - [28/Feb/2013:13:42:28 +0800] "GET / HTTP/1.1" 500 257 "-" "Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22"

www.beta800.net:80 222.247.56.11 - - [28/Feb/2013:13:42:28 +0800] "GET /favicon.ico HTTP/1.1" 500 257 "-" "Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22"

www.beta800.net:80 222.247.56.11 - - [28/Feb/2013:13:42:28 +0800] "GET /favicon.ico HTTP/1.1" 500 257 "-" "Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22"


查看完整描述

3 回答

?
波斯汪

Django 1.5引入了出于安全原因所需的允许主机设置。使用Django 1.5创建的设置文件具有此新部分,您需要添加该部分:


# Hosts/domain names that are valid for this site; required if DEBUG is False

# See https://docs.djangoproject.com/en/1.9/ref/settings/#allowed-hosts

ALLOWED_HOSTS = []

在此处添加主机['www.beta800.net']或['*']进行快速测试,但不要['*']用于生产。


查看完整回答
反对 回复 2019-10-05
?
45度呼吸

我知道这很晚了,但是我最终在这里搜索了错误500 DEBUG=False,在我的情况下确实是,ALLOWED_HOSTS但是我os.environ.get('variable')用来填充主机,直到启用日志记录后我才注意到这一点,您可以将所有错误记录到下面的文件中,即使发生以下情况,它也会记录下来DEBUG=False:


# settings.py

LOGGING = {

    'version': 1,

    'disable_existing_loggers': False,

    'formatters': {

        'verbose': {

            'format' : "[%(asctime)s] %(levelname)s [%(name)s:%(lineno)s] %(message)s",

            'datefmt' : "%d/%b/%Y %H:%M:%S"

        },

        'simple': {

            'format': '%(levelname)s %(message)s'

        },

    },

    'handlers': {

        'file': {

            'level': 'DEBUG',

            'class': 'logging.FileHandler',

            'filename': 'mysite.log',

            'formatter': 'verbose'

        },

    },

    'loggers': {

        'django': {

            'handlers':['file'],

            'propagate': True,

            'level':'DEBUG',

        },

        'MYAPP': {

            'handlers': ['file'],

            'level': 'DEBUG',

        },

    }

}


查看完整回答
反对 回复 2019-10-05
?
冉冉说

以我为例,阅读第三方应用程序的文档正确地救了我。


罪魁祸首?django_compressor


我有


{% load compress %}

{% compress css %}

 ... css files linked here ..

{% endcompress %}

DEBUG = True 总是给我500。要解决此问题,我需要在设置中添加一行以使其运行


COMPRESS_ENABLED = os.environ.get('COMPRESS_ENABLED', False)


查看完整回答
反对 回复 2019-10-05

添加回答

回复

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信