2010-02-25 2 views
2

Я запускаю apache/os x и обслуживаю страницы локального хостинга для тестирования django на моем ноутбуке. Я уже прошел проверку все следующееДетские шаги к решению с django и mod-wsgi на os x

• питона работают нормально и до настоящего времени (2.5.1)

• Джанго доступно для питона и до настоящего времени (1,1,0, «окончательный», 0)

• Модуль mod_wsgi загружается среди модулей apache в моей конфигурации apache - проверьте!

• путь к приложению django находится в vhost.conf с соответствующими разрешениями - ОК!

• mod_wsgi vhost.conf проверен и работает нормально в каталоге приложений django - тестовое приложение через localhost вытягивает 200 OK, 'hello world!' Применение

• Джанго по умолчанию было создано с использованием 'django-admin.py startproject MySite'

• Джанго приложение отлично работает на порт 8000 с помощью сервера разработки - OK!

• путь к новому приложению django (называется mysite) находится на пути python - проверено!

Все это проверяется и при запуске сценария WSGI с DJANGO_SETTINGS_MODULE settings.py и загрузить приложение Джанго, я все еще получаю «не может импортировать настройки„mysite.settings“и т.д.

Поскольку это, кажется, чтобы покрыть основное устранение неполадок, есть ли какие-либо дальнейшие шаги, которые я мог бы предпринять, чтобы выяснить проблему?

================

путь Python действительно, проверяется. Сервер разработки Django работает нормально, с помощью командной строки на порт 8000.

Апач конфигурации имеет типичный модуль загружен: LoadModule wsgi_module libexec/apache2/mod_wsgi.so

vhost.conf включается от апача конфигурации как следует

NameVirtualHost: * .80

<Directory /users/useracct/scripts/python> 
      Order allow,deny 
      Allow from all 
    </Directory> 

    <Directory /Library/WebServer/Documents> 
      Order allow,deny 
      Allow from all 
    </Directory> 
    WSGIDaemonProcess localhost user=username group=staff threads=25 
    WSGIProcessGroup localhost 

    WSGIScriptAlias /mysite /users/useracct/Sites/mysite/mysite.wsgi 

    <Directory /users/useracct/Sites/mysite/> 
      Allow from all 
    </Directory> 

    DocumentRoot /Users/useracct/Sites/ 

Virtualenv не настроен с этой учетной записью, так что это одна из возможных причин.

=======================

и файл WSGI сценарий (пытаясь сохранить его минимальный):


import os, sys 
path = '/users/usracct/sites/mysite' 
if path not in sys.path: 
    sys.path.append(path) 

os.environ['DJANGO_SETTINGS_MODULE'] = 'mysite.settings' 
import django.core.handlers.wsgi 
application = django.core.handlers.wsgi.WSGIHandler() 
+0

разместим ваш WSGI сценарий –

+1

в частности, сосредоточить внимание на 'sys.path' настройки и обеспечивают Workin g для вашего приложения Django (включая файл 'settings.py'). –

+0

Кроме того, убедитесь, что приложение правильно запускается с помощью './manage.py runningerver' - если нет, размещайте сообщения об ошибках. –

ответ

2

Try добавления/пользователей/useracct/Сайты/а к вашему PYTHONPATH в файле WSGI:

import os 
import sys 
..... 
sys.path.append(os.path.dirname(os.path.abspath(__file__)) + '/..') 
.... 
+0

это работает. Спасибо всем!!! – Pythovore

+0

и btw, mod_wsgi - отличная вещь, но я считаю, что среда python остается очень трудной для устранения неполадок. Одна вещь, над которой я работаю, - это более ориентированная на обратную связь среда. Некоторый способ максимизировать тестовый цикл, но не GUI. Когда вы полагаетесь на графический интерфейс, он действительно начинает идти вниз. Теперь это тема для обсуждения. – Pythovore

+1

Pythovore. Вы действительно прочитали руководство по интеграции Django на сайте mod_wsgi? В нем вам прямо сказано о необходимости добавления этого каталога. Ответ здесь немного умный, т. Е., Пытаясь вычислить его относительно файла сценария WSGI, но необходимость добавления каталога описана в документации. Прочитайте 'http://code.google.com/p/modwsgi/wiki/IntegrationWithDjango'. –