Вопрос по django, django-cms – django_cms ImproperlyConfigured: ошибка импорта промежуточного программного обеспечения cms.middleware.media

7

Я перемещаю приложение, которое использует django_cms, с одного сервера, на котором все работало, на другой и провел последние 4 часа, пытаясь найти причину этой ошибки. Предложения очень приветствуются!

 mod_wsgi (pid=21972): Exception occurred within WSGI script '/var/www/vhosts/compdoctest.com/django/compdoc/django.wsgi'.
 Traceback (most recent call last):
   File "/usr/lib/python2.5/site-packages/django/core/handlers/wsgi.py", line 230, in __call__
     self.load_middleware()
   File "/usr/lib/python2.5/site-packages/django/core/handlers/base.py", line 42, in load_middleware
     raise exceptions.ImproperlyConfigured('Error importing middleware %s: "%s"' % (mw_module, e))
 ImproperlyConfigured: Error importing middleware cms.middleware.media: "No module named media"

Эта строка является последней в списке промежуточного программного обеспечения в settings.py

MIDDLEWARE_CLASSES = (
    'django.middleware.common.CommonMiddleware',
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.csrf.CsrfViewMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.contrib.messages.middleware.MessageMiddleware',
    'cms.middleware.page.CurrentPageMiddleware',
    'cms.middleware.user.CurrentUserMiddleware',
    'cms.middleware.multilingual.MultilingualURLMiddleware',
    'cms.middleware.media.PlaceholderMediaMiddleware',
    )

Если я удаляю последнюю строку, то код продолжается и падает позже, говоря, что элемент необходим в промежуточном программном обеспечении

Я использую немного другую версию django, 1.2.1 final на старом работающем сервере и 1.2.3 final на новом сервере.

Все что я пробовал:

Та же версия django_cms - 2.1.0 beta 3 - которая использовалась на старом сервереПоследняя версия на github - 2.1.0.beta2-550 Помещение папок cms, mptt, menu, publisher в папкуприложение из Python импортируетпогуглил (ни у кого нет той же проблемы, которую я могу найти)файл промежуточного программного обеспечения напрямую (без проблем)

Результат открытия в python:

python manage.py shell        
Python 2.5.2 (r252:60911, Jan 20 2010, 23:14:04) 
[GCC 4.2.4 (Ubuntu 4.2.4-1ubuntu3)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
(InteractiveConsole)
>>> import cms.middleware.media
>>> cms.middleware.media.__file__
'/var/www/vhosts/compdoctest.com/django/compdoc/cms/middleware/media.pyc'
>>> from django.forms.widgets import Media
>>> import cms.middleware.media
>>> 

Ваш Ответ

2   ответа
4

Спасибо моему другу Бартошу Пташинскому за то, что он указал мне правильное направление. Это была проблема пути. Добавил это в начало файла settings.py и все это волшебным образом заработало.

sys.path.insert (0, '/ path_to_app / app /')

И как он указал:

Исключение в сценарии WSGI означает, что путь при запуске под веб-сервером был неправильным, это совершенно другая среда, чем оболочка manage.py

Можете ли вы дать немного больше объяснения проблемы и решения. Ilian Iliev
Проблема была просто в том, что он не мог найти то, что ему нужно на пути. Я думаю, что старый сервер был счастлив без отставания /, но этот сервер был более суетливым. В любом случае добавление вышеуказанной команды sys.path решило проблему. PhoebeB
У меня была эта проблема, и это решение не работало для меня. Однако, вдохновленный этим решением, я также добавил:sys.path.insert(0, '/the/path/to/myapp/lib/python2.6/site-packages/') и это сработало - или, по крайней мере, перешло к новому набору проблем. Tony Adams
0

У меня такая же проблема. Но так как это происходит только при использовании mod_wsgi, другое решение - добавить путь в конфигурацию apache (вместо редактирования syspath внутри setting.py):

    # mod_wsgi settings
WSGIDaemonProcess name user=user group=group python-path=/app_path/app/:/app_path/lib/python2.6/site-packages/:/app_path/
WSGIProcessGroup polykum

Включение пакетов сайта в путь также приведено в примереДжон Блэк.

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