2013-03-24 68 views
1

我已經更新了這個特定的應用程序從Django 1.4到Django 1.5和一切工作正常本地 - 我不得不修復一些url調用,但是很好。現在部署通過Apache + mod_wsgi運行Webfaction並運行該站點我在每次嘗試和加載的頁面上都收到錯誤500。Django 1.5 URL棄用警告導致Webfaction 500錯誤Apache wsgi

所有的配置文件保持不變,只有Django庫已經改變。我已經安裝了所有的要求,他們加載的罰款。

如果我在本地設置中將網站轉向調試模式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]?它不應該在​​級別?這可能是什麼導致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

我找到了解決方案 - [error]消息是一個紅色的鯡魚。

在Django 1.5中,當DEBUG = False在設置中,那麼ALLOWED_HOSTS需要在設置文件中。 https://docs.djangoproject.com/en/1.5/releases/1.5/#allowed-hosts-required-in-production

否則,該網站將引發500個錯誤 - 這正是我所得到的。

添加ALLOWED_HOSTS,一切又恢復正常。簡單的RTFM案例。

+0

如果這是您的問題的正確答案,請將其標記爲已接受的答案;) – 2013-03-25 23:02:57

+0

謝謝@HuckleberryFinn - 我沒有想到這一點。它說我可以在6個小時內接受我自己的答案。 – jamesc 2013-03-26 16:30:40

+0

問題仍然存在,爲什麼我們得到最新的django(目前爲1.5)的棄用警告?這是從Django方面的錯誤/滑落更新? – shailenTJ 2013-09-02 14:20:37