部署django - Apache VirtualHost和mod_wsgi的“ImportError”

时间:2012-05-09 03:22:24

标签: django apache httpd.conf

我正在我的网络服务器的端口81上部署django。这是为了让它脱离开发服务器,但我还没准备好将它作为端口80的根目录。

问题是,每当我尝试访问端口81上的任何页面时,我都会看到django错误屏幕,它总是说:ImportError at / No module named mysite.urls

的httpd.conf

Listen 81

NameVirtualHost *:81

<VirtualHost *:81>
   DocumentRoot /home/bill/Desktop/mysite

   WSGIScriptAlias / /home/bill/Desktop/mysite/django.wsgi
   <Directory /home/bill/Desktop/mysite>
      Order allow,deny
      Allow from all
   </Directory>
</VirtualHost>

/home/bill/Desktop/mysite/django.wsgi

import os
import sys

sys.path.append('/home/bill/Desktop/mysite')

os.environ['PYTHON_EGG_CACHE'] = '/home/bill/Desktop/mysite/.python-egg'
os.environ['DJANGO_SETTINGS_MODULE'] = 'settings'

import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()
mysite / settings.py中的

...
ROOT_URLCONF = 'mysite.urls'
...

我知道ROOT_URLCONF = 'mysite.urls'正在加载的事实,因为如果我将其更改为其他任何内容(例如“test”),我会得到ImportError at / No module named test

有关此部署出错的地方的任何想法?提前谢谢!

1 个答案:

答案 0 :(得分:1)

您的部署没问题。您的代码需要更正,因为它只应导入(并随后使用)urls

(虽然os.environ['DJANGO_SETTINGS_MODULE'] = 'settings'有点多余。)