這就是我需要在Mac OS X雪豹做:
- 直接把djangoappengine目錄「ROOT /共應用」。如果你將它放在common-apps目錄之外,appengine可能會感到困惑,並將djangoappengine目錄用作PROJECT_DIR,而不是將ROOT用作PROJECT_DIR。您可能還需要將init .py添加到您的common-apps目錄。
- 將django-nonrel放到ROOT目錄的外面,並將ROOT/common-apps/django創建一個符號鏈接到NONROOT/django-nonrel/django。如果您將django-nonrel直接放入通用應用程序目錄,那麼當您部署時,您可能會超過應用程序引擎的3000文件上傳限制。
- 創建一個空的ROOT /公共目錄。乘客使用此目錄的父目錄作爲項目根目錄。
- 如下配置您的apache vhost,假設MYAPPNAME.local是您的/ etc/hosts
- 創建passenger_wsgi.py並將其放入ROOT目錄中,如下所示。
虛擬主機:
<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()
希望我沒有留下任何顯著出來。