Развертывание приложения django на Apache mod_python
Я закончил создание сайта в Джанго под названием "Казба", и я пытаюсь развернуть его.
Весь код для сайта kazbah находится в /home/git/DjangoProjects/kazbah, и мой httpd.conf выглядит так:
<Location "/">
SetHandler python-program
PythonHandler django.core.handlers.modpython
SetEnv DJANGO_SETTINGS_MODULE kazbah.settings
PythonDebug On
PythonPath "['/home/git/DjangoProjects'] + sys.path"
</Location>
Я получаю следующую ошибку, хотя:
ImportError: Не удалось импортировать настройки "kazbah.settings" (это на sys.path? Есть ли синтаксические ошибки?): Нет модуля с именем kazbah.settings
Есть идеи, почему этот нуб не работает?
5 ответов
Я видел это несколько раз. Каждый раз, потому что я неправильно установил эту строку:
SetEnv DJANGO_SETTINGS_MODULE kazbah.settings
Даже при том, что это выглядело правильно, Django (фактически python) искал одну папку от той, которую я намеревался. Попробуйте настроить его, изменив его на:
SetEnv DJANGO_SETTINGS_MODULE settings
Также вы можете настроить здесь:
PythonPath "['/home/git/DjangoProjects'] + sys.path"
Возможно, вам нужно установить его на:
PythonPath "['/home/git/DjangoProjects/kazbah'] + sys.path"
или что-то подобное. Не видя фактическую настройку папки, трудно точно знать.:)
Для проекта, отдыхающего под /var/www/bbb
(называется "bbb"), у меня есть следующий набор в файле конфигурации:
<Location "/">
SetHandler python-program
PythonHandler django.core.handlers.modpython
SetEnv DJANGO_SETTINGS_MODULE bbb.settings
PythonPath "['/var/www/', '/var/www/bbb/'] + sys.path"
PythonDebug On
</Location>
Луи, ваша конфигурация выглядит точно так же, как я использовал до перехода на mod_wsgi, поэтому должно быть что-то еще не так. Может быть, вам не хватает файла __init__.py в /home/git/DjangoProjects/kazbah?
Я почти уверен, что вы можете сделать sys.path - это в документации по django.
Я мог бы перейти на django doc http://docs.djangoproject.com/en/dev/howto/deployment/modpython/ когда я пробовал другой учебник (который, я думаю, немного устарел) - http: //www.jeffbaier.com / 2007/07/26 / установка-Джанго-на-ан-убунту-Linux-сервер /
Хорошо, возможно у вас есть синтаксическая ошибка в вашем файле настроек.
Попробуй это:
$ cd /home/git/DjangoProjects/kazbah
$ python
>>> import settings
Если вы сделаете это, вы получите гораздо лучшее сообщение об ошибке, если есть какие-либо ошибки.