1

我已将此特定应用程序从 Django 1.4 更新到 Django 1.5,并且在本地一切正常 - 我必须修复一些url调用,但这很好。现在在部署到 Webfaction 并通过 Apache + mod_wsgi 运行站点时,我收到错误 500s在我尝试加载的每一页上。

所有配置文件都保持不变,只有 Django 库发生了变化。我已经 pip 安装了所有要求并且它们加载正常。

如果我在本地设置中将站点调低到调试模式DEBUG = True,那么一切正常。在调试模式下的错误日志中,我得到以下信息:

[Sun Mar 24 22:47:17 2013] [error] /home/user/webapps/app/htdocs/env/lib/python2.7/site-packages/django/conf/urls/defaults.py:3: DeprecationWarning: django.conf.urls.defaults is deprecated; use django.conf.urls instead
[Sun Mar 24 22:47:17 2013] [error]   DeprecationWarning)

我的问题是 - 为什么这被作为一个错误提出?[error]? 不应该是[info]水平吗?当我将应用程序退出调试模式时,这可能是导致 500 错误的原因吗?

使用 Django 1.5 我可以做些什么来让网站再次活跃起来?有没有办法关闭这些警告?

我确实在 Django 源https://github.com/django/django/commit/0d49fdb573d44794cc78c6af4761cc79c5330315中查看了这个提交,看看我是否可以关闭我的应用程序的 local_settings 文件中的日志记录,但没有运气。

这是我的httpd.conf文件:

ServerRoot "/home/user/webapps/app/apache2"

LoadModule dir_module        modules/mod_dir.so
LoadModule env_module        modules/mod_env.so
LoadModule log_config_module modules/mod_log_config.so
LoadModule mime_module       modules/mod_mime.so
LoadModule rewrite_module    modules/mod_rewrite.so
LoadModule setenvif_module   modules/mod_setenvif.so
LoadModule wsgi_module       modules/mod_wsgi.so

LogFormat "%{X-Forwarded-For}i %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
CustomLog /home/user/logs/user/access_app.log combined
ErrorLog /home/user/logs/user/error_app.log
LogLevel info
KeepAlive Off
Listen 27114
MaxSpareThreads 3
MinSpareThreads 1
ServerLimit 1
SetEnvIf X-Forwarded-SSL on HTTPS=1
ThreadsPerChild 5
WSGIDaemonProcess app processes=2 threads=12 python-path=/home/user/lib/python2.7:/home/user/webapps/app/htdocs:/home/user/webapps/app/htdocs/env/lib/python2.7/site-packages
WSGIProcessGroup app
WSGIRestrictEmbedded On
WSGILazyInitialization On
WSGIScriptAlias / /home/user/webapps/app/htdocs/ag/wsgi.py

这是我的wsgi.py

import os
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "ag.settings")
from django.core.wsgi import get_wsgi_application
application = get_wsgi_application()
4

1 回答 1

4

我找到了解决方案——这些[error]消息是一条红鲱鱼。

在 Django 1.5 中,在设置中时,设置文件中需要DEBUG = Falsethen 。https://docs.djangoproject.com/en/1.5/releases/1.5/#allowed-hosts-required-in-productionALLOWED_HOSTS

否则,该站点将引发 500 个错误——这就是我得到的。

添加ALLOWED_HOSTS,一切又恢复正常。RTFM 的简单案例。

于 2013-03-25T22:46:03.747 回答