Найти - Пользователи
Полная версия: Django mod_wsgi apache ImportError
Начало » Django » Django mod_wsgi apache ImportError
1
alexandre
Конфиг апача:
<VirtualHost *:80>
ServerAdmin webmaster@localhost
ServerName d-test
ServerAlias *.d-test
WSGIScriptAlias / /home/user/workspace/django/d_test/django_wsgi.wsgi
WSGIDaemonProcess dj-test user=user group=user processes=2 threads=4 maximum-requests=100
WSGIProcessGroup d-test
</VirtualHost>
Содержание django_wsgi.wsgi:
import os
import sys
sys.path.append('/home/user/workspace/django/d-test')
os.environ['DJANGO_SETTINGS_MODULE'] = 'mysite.settings'
import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()
На команду:
python -c “import django; print django.VERSION;”
Выдает:
(1, 3, 0, ‘final’, 0)

А при попытке зайти по адресу сайта http://d-test апач влогах пишет:
ImportError: Could not import settings 'mysite.settings' (Is it on sys.path?): No module named mysite.settings
Django разглядываю первый раз поэтому трудно сказать что бы значила эта ошибка.
pill
Скорее всего “mysite” нужно заменить актуальным названием вашего Джанго проекта:

import os
import sys
sys.path.append('/home/user/workspace/django/d-test')
os.environ['DJANGO_SETTINGS_MODULE'] = 'd-test.settings'
import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()
alexandre
Ошибка осталась
ImportError: Could not import settings 'd-test.settings' (Is it on sys.path?): No module named d-test.settings
pill
alexandre
Ошибка осталась
ImportError: Could not import settings 'd-test.settings' (Is it on sys.path?): No module named d-test.settings
попробуйте добавить:
import os
import sys
sys.path.append('/home/user/workspace/django/')
sys.path.append('/home/user/workspace/django/d-test')
os.environ['DJANGO_SETTINGS_MODULE'] = 'd-test.settings'
import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()
Честно говоря, я сам методом тыка с sys.path игрался пока все запустилось.
alexandre
Эффект тот же .
jeltoesolnce
На удачу: а ничего, что у тебя WSGIDaemonProcess называется dj-test, а WSGIProcessGroup - d-test?
jeltoesolnce
И, на всякий случай:
<VirtualHost 127.0.0.1:80> 
ServerName firstdjangoproject.gray.homenetwork
ServerAdmin root@gray.homenetwork
ServerAlias www.firstdjangoproject.gray.homenetwork
DocumentRoot /usr/home/jeltoesolnce/data/projects/firstdjangoproject
<Directory "/usr/home/jeltoesolnce/data/projects">
AllowOverride None
Order deny,allow
Allow from all
</Directory>
Alias /static/admin/ "/usr/home/jeltoesolnce/data/projects/static/admin/"
Alias /static/media/ "/usr/home/jeltoesolnce/data/projects/static/media/"
CustomLog /home/jeltoesolnce/data/projects/httpd-logs/firstdjangoproject.gray.homenetwork.acess.log combined
ErrorLog /home/jeltoesolnce/data/projects/httpd-logs/firstdjangoproject.gray.homenetwork.error.log
WSGIScriptAlias / /usr/home/jeltoesolnce/data/projects/firstdjangoproject/apache/django.wsgi
AddDefaultCharset utf8
</VirtualHost>
Чудес не бывает, если лог говоит, что настроек в пути нет, то Апач или в папку не попадает, или попадает, но не в ту.
И, до кучи, файл ~/data/projects/firstdjangoproject/apache/django.wsgi:
# -*- coding: utf-8 -*-
import os
import sys

os.environ['DJANGO_SETTINGS_MODULE'] = 'firstdjangoproject.settings'
os.environ['PYTHON_EGG_CACHE'] = '/home/jeltoesolnce/data/projects/.python-eggs'

import django.core.handlers.wsgi
application=django.core.handlers.wsgi.WSGIHandler()

p = '/home/jeltoesolnce/data/projects'
if p not in sys.path:
sys.path.append(p)
Ну и, как всегда все делают это уже тогда, когда всё перепробовали, проверить права доступа к каталогам и пользователя, от которого запускается Apache или демон wsgi:-).
alexandre
Проблема оказалась в строчке
os.environ['DJANGO_SETTINGS_MODULE'] = 'dj_test.settings'
Такого модуля небыло решилось

os.environ['DJANGO_SETTINGS_MODULE'] = 'settings'
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB