2009-08-31 3 views
3

У меня есть fecora 11, установите django с mod_wsgi2.5 и apache2.2. И я могу запустить «python manage.py runningerver» на локальном компьютере. Он работает нормально. Я получил ошибку, когда я тестирую из удаленного браузера.django: ImportError Нет модуля с именем myapp.views.hometest

Спасибо за любые предложения и помощь!

ответ

2

Является ли приложение, содержащее проект Django, в вашем $PYTHONPATH (когда Python вызывается в контексте сервера)? Например, если ваш проект Django находится в /home/wwwuser/web/myproj, то /home/wwwuser/web должен быть в вашем $PYTHONPATH. Вы должны установить это в скрипте, который загружает проект при вызове с веб-сервера.

+0

я должен поставить PYTHONPATH '[' /user/local/django/myproject'+sys.path] в httpd.conf в апача? – icn

+0

или я должен что-то положить в django.wsgi? – icn

+1

я уже sys.path.append ('/ USR/местные/Джанго/MyProject') в django.wsgi – icn

1

Просто догадайтесь, но если вы явно не убедитесь, что ваше приложение находится на PYTHONPATH, вы должны указывать виды в urls.py как myproject.myapp.views.functionname.

В противном случае:

  • проверить, если вы устанавливаете PYTHONPATH, или что. Ваш каталог проекта должен быть там.
  • если вы включите администратора django (раскомментируя строки, которые по умолчанию указаны в urls.py), это работает?
+0

Джанго администратор MyProject не работает слишком ... – icn

1
  • Все необходимые переменные Env должны быть установлены в django.wsgi. Вы можете сравнить env, объявленный в django.wsgi, и env выполнения ./manage runserver и убедиться, что они одинаковы.
  • Кроме того, если есть другой пакет myapp, который можно найти через PYTHONPATH до /usr/local/django/myapp, ImportError может быть поднят.
4

У меня была эта проблема. Он ушел, когда я добавил sys.path.append('/path/to/project') в мой .wsgi-файл.

Смежные вопросы