Озадачен: Django "не может импортировать app.views", но может импортировать приложение в WSGI? - PullRequest
2 голосов
/ 25 февраля 2011

У меня странная проблема с Django, при запуске Django с mod_wsgi.

Джанго находит urls.py, а затем говорит:

ViewDoesNotExist: Could not import app.views. Error was: No module named views

Странно, если у меня есть

import app

в операторах импорта в urls.py Я не получаю сообщение об ошибке (пока оно не достигнет app.views, как указано выше), но если у меня есть

from app import views

в моих операторах импорта я получаю сообщение об ошибке.

Мой путь к Python, как показано в информации отладки Django, содержит как содержащую папку, так и папку приложения. Если я запускаю Python из командной строки, я могу нормально импортировать app.views. Я могу запустить приложение, используя python manage.py runserver просто отлично.

Я попытался напечатать путь python к stderr из urls.py, и в нем есть путь к приложению.

Что может происходить?

Сначала я подумал, что в папке приложения не может быть __init__.py, но он есть.

Спасибо!

UPDATE

В приложении runserver, если я попытаюсь

print app.__file__
>> \path\to\app\__init__.py

Но в версии wsgi я вижу только:

print app.__file__
>> \path\to\app\

Другими словами, он просто не находит __init__.pyc.

Ответы [ 2 ]

3 голосов
/ 25 февраля 2011

Вероятно, круговая зависимость - что-то в views импортирует другой модуль, который сам пытается импортировать views.

0 голосов
/ 25 февраля 2011

Ваш веб-сервер не содержит файловых дескрипторов. Переконфигурируйте приложение WSGI для режима демона.

...