Mezzanine+Gunicornでmodenaのテンプレートのエラーがでるときの個人的メモ


これは個人的に勉強のために行った際のメモです。

環境

Amazon Linux AMI 2015.03 (HVM), SSD Volume Type – ami-cbf90ecb
Django 1.8.1  # 追記。Mezzanineを入れると強制的にDjango (1.6.11)になる模様。
Gunicorn 19.3.0
Nginx 1.6.2
Mezzanine 3.1.10

状況

gunicornのコマンドでMezzanineを起動すると、テンプレートのモジュールを読み込んでくれないというエラーがでる。
試したテンプレートは、moderna。
ImportError: No module named 'moderna'

python3 manage.py runsrver
で起動すると、テンプレートは正常に表示されていることを確認。

対応方法

1)テンプレートの読み込み位置を変更
TEMPLATE_DIRS = (
os.path.join(PROJECT_ROOT, "moderna/templates"),
# os.path.join(PROJECT_ROOT, "templates"),
)

2)INSTALLED_APPSのモジュール名を変更
INSTALLED_APPS = (
"projectname.moderna",

上記を設定後、プロジェクトの1つ上の階層(manege.pyやwsgi.pyの階層の1つ上)で、
gunicorn dependamezzanine.wsgi
と走らせたら、正常に動きました。

Mezzanine-Gunicorn-modena

実験のために、
TEMPLATE_DIRS = (
os.path.join(PROJECT_ROOT, "templates"),
)


INSTALLED_APPS = (
"moderna",

の状態で、manege.pyやwsgi.pyの階層で、
gunicorn wsgi
としたら動くかと思いましたがダメでした。