回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>我在让django使用mod-wsgi开发apache 2.2时遇到了问题。
Django已安装,mod_wsgi也已安装。
我甚至可以在访问路径时看到404页面,并且可以登录到django admin。
但是如果我想安装标记模块,我会得到以下错误:</p>
<pre><code> Traceback (most recent call last):
File "setup.py", line 49, in <module>
version_tuple = __import__('tagging').VERSION
File "/home/jim/django-tagging/tagging/__init__.py", line 3, in <module>
from tagging.managers import ModelTaggedItemManager, TagDescriptor
File "/home/jim/django-tagging/tagging/managers.py", line 5, in <module>
from django.contrib.contenttypes.models import ContentType
File "/usr/lib/python2.5/site-packages/django/contrib/contenttypes/models.py", line 1, in <module>
from django.db import models
File "/usr/lib/python2.5/site-packages/django/db/__init__.py", line 10, in <module>
if not settings.DATABASE_ENGINE:
File "/usr/lib/python2.5/site-packages/django/utils/functional.py", line 269, in __getattr__
self._setup()
File "/usr/lib/python2.5/site-packages/django/conf/__init__.py", line 40, in _setup
self._wrapped = Settings(settings_module)
File "/usr/lib/python2.5/site-packages/django/conf/__init__.py", line 75, in __init__
raise ImportError, "Could not import settings '%s' (Is it on sys.path? Does it have syntax errors?): %s" % (self.SETTINGS_MODULE, e)
ImportError: Could not import settings 'mysite.settings' (Is it on sys.path? Does it have syntax errors?): No module named mysite.settings
</code></pre>
<p>我的httpd.conf:</p>
<pre><code> Alias /media/ /home/jim/django/mysite/media/
<Directory /home/jim/django/mysite/media>
Order deny,allow
Allow from all
</Directory>
Alias /admin/media/ "/usr/lib/python2.5/site-packages/django/contrib/admin/media/"
<Directory "/usr/lib/python2.5/site-packages/django/contrib/admin/media/">
Order allow,deny
Allow from all
</Directory>
WSGIScriptAlias /dj /home/jim/django/mysite/apache/django.wsgi
<Directory /home/jim/django/mysite/apache>
Order deny,allow
Allow from all
</Directory>
</code></pre>
<p>我的django.wsgi:</p>
<pre><code>import sys, os
sys.path.<a href="https://www.cnpython.com/list/append" class="inner-link">append</a>('/home/jim/django')
sys.path.append('/home/jim/django/mysite')
os.chdir('/home/jim/django/mysite')
os.environ['DJANGO_SETTINGS_MODULE'] = 'mysite.settings'
import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()
</code></pre>
<p>我试着让这个工作了几天,并阅读了几个博客和这里的答案,所以,但没有工作。</p>
<p><strong>编辑:</strong></p>
<p>现在我用<a href="http://blog.dscpl.com.au/2010/03/improved-wsgi-script-for-use-with.html" rel="noreferrer">this blog post</a>尝试了一下,我的wsgi文件现在看起来如下:</p>
<pre><code>import sys
sys.path.insert(0, '/home/jim/django/mysite')
sys.path.insert(0, '/home/jim/django')
import settings
import django.core.management
django.core.management.setup_environ(settings)
utility = django.core.management.ManagementUtility()
command = utility.fetch_command('runserver')
command.validate()
import django.conf
import django.utils
django.utils.translation.activate(django.conf.settings.LANGUAGE_CODE)
import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()
</code></pre>
<p>管理员仍在工作,但当我尝试安装标记模块时,也出现了同样的错误。</p>