Проблемы конфигурации с django и mod_wsgi

У меня есть проблемы при получении django для работы над апачскими 2.2 с mod_wsgi. Django установлен и mod_wsgi также. Я могу даже видеть 404 страницы при доступе к пути, и я могу войти в django администратора. Но если я хочу установить модуль меток, я получаю следующую ошибку:

 Traceback (most recent call last):
   File "setup.py", line 49, in 
  version_tuple = __import__('tagging').VERSION
   File "/home/jim/django-tagging/tagging/__init__.py", line 3, in 
  from tagging.managers import ModelTaggedItemManager, TagDescriptor
   File "/home/jim/django-tagging/tagging/managers.py", line 5, in 
  from django.contrib.contenttypes.models import ContentType
   File "/usr/lib/python2.5/site-packages/django/contrib/contenttypes/models.py", line 1, in 
  from django.db import models
   File "/usr/lib/python2.5/site-packages/django/db/__init__.py", line 10, in 
  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

Мой httpd.conf:

 Alias /media/ /home/jim/django/mysite/media/

 
  Order deny,allow
  Allow from all
 

 Alias /admin/media/ "/usr/lib/python2.5/site-packages/django/contrib/admin/media/"

 
  Order allow,deny
  Allow from all
 

 WSGIScriptAlias /dj /home/jim/django/mysite/apache/django.wsgi

 
  Order deny,allow
  Allow from all
 

Мой django.wsgi:

import sys, os

sys.path.append('/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()

Я пытаюсь заставить это работать с нескольких дней и прочитал несколько блогов и ответов здесь на так, но ничто не работало.

Править:

Теперь я попробовал его этим сообщением в блоге, и мой wsgi файл теперь похож на это:

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()

администратор все еще работает, но я получаю ту же ошибку, когда я пытаюсь установить модуль меток.

5
задан Hank Gay 8 April 2010 в 20:43
поделиться

2 ответа

Во-первых,

  • Поскольку ваш администратор работает, настройка с wsgi хороша. Не утруждайте себя его изменением / редактированием.

Чтобы убедиться, что это не проблема настройки Apache / mod-wsgi, вы можете запустить сервер разработки с рабочей машины

python manage.py runserver 0:8080

Затем укажите в браузере

http://yoursite.com:8080/

. Вы должны увидеть точно такое же поведение.

Затем,

Для устранения этой проблемы:

  • В оболочке python на вашем сервере попробуйте import tagging . Очевидно, что из вашей трассировки тегирование импорта вызывает ошибку, и поэтому настройки не могут быть импортированы.

  • Затем просто удалите пакет, содержащий теги, и выполните новую установку с помощью следующей команды, которая хорошо знает, как устанавливать пакеты.

.

sudo pip install django-tagging
4
ответ дан 14 December 2019 в 04:34
поделиться

Вы читали запись в блоге Грэма Дамплтона о Django и WSGI ? Он довольно хорошо описывает некоторые общие проблемы конфигурации, особенно касается mysite.settings vs. settings .

ОБНОВЛЕНИЕ: пожалуйста, прочтите прекрасные комментарии Грэма Дамплтона ниже.

ОБНОВЛЕНИЕ 2: Как указали и Грэм, и стал Гуру, проблема вовсе не в WSGI. Вместо этого проблема связана с вашей установкой django-tagging . Воспользуйтесь советом статьGuru и используйте pip для установки django-tagging .

4
ответ дан 14 December 2019 в 04:34
поделиться
Другие вопросы по тегам:

Похожие вопросы: