2010年10月24日日曜日

Django テンプレート・ディレクトリの指定

Djangoではテンプレートを置くディレクトリーパスを settings.py に登録する必要がある。
(登録しないとテンプレートが無いというエラーが出る)

設定例(settings.py)
TEMPLATE_DIRS = (
  'C:/xxx/myprj/myapp/templates',
  'C:/xxx/myprj/myapp2/templates',
)

この設定方法以外に、
  django.template.loaders.app_directories.load_template_source
というテンプレートローダーがある。
有効化すると(デフォルトは無効)、各アプリケーション下の templates というサブディレクトリーを検索し、テンプレートをロードする。
検索するアプリケーションは、settings.py の INSTALLED_APPS に登録したものが対象になる。

設定例(settings.py)
TEMPLATE_LOADERS = (
   'django.template.loaders.filesystem.load_template_source',
   'django.template.loaders.app_directories.load_template_source',
#   'django.template.loaders.eggs.load_template_source',
)

参照  Django ドキュメント