Python 错误设置django';s ALLOWED_HOSTS设置未给出可理解的错误

Python 错误设置django';s ALLOWED_HOSTS设置未给出可理解的错误,python,django,http,debugging,Python,Django,Http,Debugging,Django的设置,如果设置为与浏览器连接的主机不同的主机,只会导致400,而没有问题的迹象 DEBUG = False ALLOWED_HOSTS = ['example.com'] 如果您通过直接连接到IP而不是通过example.com点击django,您将得到一个普通的400页 这只会在DEBUG=FALSE时发生(如文档所述),但会通过wsgi和manage.py发生 这花费了我远远超过我愿意承认的调试时间。 调试输出在哪里可以使我免于这个模糊的错误?至少不应该管理.py的输出给出提

Django的设置,如果设置为与浏览器连接的主机不同的主机,只会导致400,而没有问题的迹象

DEBUG = False
ALLOWED_HOSTS = ['example.com']
如果您通过直接连接到IP而不是通过example.com点击django,您将得到一个普通的400页

这只会在
DEBUG=FALSE
时发生(如文档所述),但会通过wsgi和manage.py发生

这花费了我远远超过我愿意承认的调试时间。

调试输出在哪里可以使我免于这个模糊的错误?至少不应该管理.py的输出给出提示吗

页面只显示
400错误请求
,日志如下:

1.2.3.4 - - [23/Oct/2014 11:33:22] "GET / HTTP/1.1" 400 26

是的,Django错误日志

[ERROR] [2014-10-23 12:46:06,073] [base 6808 140062533326784] [Invalid HTTP_HOST header: 'whatver.host'.You may need to add u'whatever_host' to ALLOWED_HOSTS.]
下面是一个日志配置示例。如果希望调试任何东西,您应该记录Djanogo错误

LOGGING = {
    'version': 1,
    'disable_existing_loggers': False,
    'handlers': {
        'error_file': {
            'level': 'ERROR',
            'filename': os.path.join(LOG_PATH, 'error.log'),
            'class':'logging.handlers.RotatingFileHandler',
            'maxBytes': 1 * 1024 * 1024,
            'backupCount': 2
        }
    },
    'loggers': {
        'django': {
            'handlers': ['error_file'],
            'level': 'ERROR',
            'propagate': True
        }
    }
}

我建议您将Django项目配置为在每次抛出异常时向您发送电子邮件。非常感谢。我的日志(请参阅更新的问题)并没有说,这是一个普通的django安装,当使用runserver时,它会将它们记录到标准输出中——但可能您在使用runserver时从未遇到过这个问题,因为调试是真的。您需要配置一个记录器,以便在别处运行时捕获此信息。即使使用runserver,在调试关闭时它也不会输出此日志,仅供参考。已确认此日志配置使用manage.py和wsgi正确记录错误。非常感谢您,我一直认为日志输出只是manage.py提供给您的正常访问日志输出!