Вот что мне нужно было сделать в Mac OS X Snow Leopard:
- Поместите каталог djangoappengine непосредственно в 'ROOT / common-apps'.Если вы поместите его за пределы каталога общих приложений, appengine может запутаться и использовать djangoappengine dir в качестве PROJECT_DIR вместо использования ROOT в качестве PROJECT_DIR.Вам также может понадобиться добавить init .py в каталог общих приложений.
- Поместите django-nonrel ВНЕ каталога ROOT и создайте символическую ссылку из ROOT / common-apps/ Django в NONROOT / Django-Nonrel / Django.Если вы поместите django-nonrel непосредственно в каталог общих приложений, вы, вероятно, превысите лимит загрузки файлов 3000 на app-engine при развертывании.
- Создайте пустой каталог ROOT / public.Пассажир использует родителя этого каталога в качестве корня проекта.
- Настройте свой Apache vhost, как показано ниже, предполагая, что MYAPPNAME.local - это ваш / etc / hosts
- Создайте passenger_wsgi.py и поместите его вВаш каталог ROOT, как показано ниже.
vhosts:
<VirtualHost *:80>
ServerName MYAPPNAME.local
DocumentRoot /Users/mike/Projects/ROOT/public
<Directory /Users/mike/Projects/ROOT/public>
AllowOverride all
Options -MultiViews
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
passenger_wsgi.py:
import os, sys
# BUG there must be a better way than listing everything individually...
sys.path.append('/Users/mike/Projects/ROOT/')
sys.path.append('/Users/mike/Projects/ROOT/common-apps/')
sys.path.append('/Users/mike/Projects/NONROOT/django-nonrel/')
sys.path.append('/usr/local/google_appengine/')
sys.path.append('/usr/local/google_appengine/lib/yaml/lib/')
sys.path.append('/usr/local/google_appengine/lib/antlr3/')
sys.path.append('/usr/local/google_appengine/lib/django/')
sys.path.append('/usr/local/google_appengine/lib/cacerts/')
sys.path.append('/usr/local/google_appengine/lib/ipaddr/')
sys.path.append('/usr/local/google_appengine/lib/webob/')
sys.path.append('/usr/local/google_appengine/google/appengine/api/')
os.environ['DJANGO_SETTINGS_MODULE'] = 'settings'
import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()
Надеюсь, я ничего не пропустил.