2009年6月11日木曜日

Django 外部アプリ追加

外部アプリ(Pinaxの中のモジュールを単体で)とかをsetup.py installを利用しないで使おうとすると、うまくdjangoで認識できない場合があります。

そんな時には、
mod_wsgiファイルの中で強引にpathを追加してしまう手があります。

詳しくはpinaxのdeployファイルの中で

from os.path import abspath, dirname, join
from site import addsitedir

PINAX_ROOT = abspath(join(dirname(__file__), "../../../"))
PROJECT_ROOT = abspath(join(dirname(__file__), "../"))

path = addsitedir(join(PINAX_ROOT, "libs/external_libs"), set())
if path:
sys.path = list(path) + sys.path

sys.path.insert(0, join(PINAX_ROOT, "apps/external_apps"))
sys.path.insert(0, join(PINAX_ROOT, "apps/local_apps"))
sys.path.insert(0, join(PROJECT_ROOT, "apps"))

sys.path.insert(0, abspath(join(dirname(__file__), "../../")))

とやっているラインを参照に・・・・

0 件のコメント:

コメントを投稿