django: ImportError Нет модуля с именем myapp.views.hometest - PullRequest
3 голосов
/ 01 сентября 2009

У меня есть fecora 11, установите django с mod_wsgi2.5 и apache2.2. И я могу запустить "Python manage.py runserver" на локальном компьютере. Работает нормально. Я получил ошибку при тестировании с удаленного браузера.

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

Ответы [ 4 ]

4 голосов
/ 05 июня 2010

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

2 голосов
/ 01 сентября 2009

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

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

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

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

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