Djangoをいじりはじめて1週間ほどたちますが
ようやく管理画面の次へ進もうとしているところです。
ところでTEMPLATE_DIRSの場所として推奨されるものは無いのでしょうか。
もしかなり自由度のあるものであるとすれば
みなさんどのようなルールで場所決めをしていらっしゃいますか?
ご意見伺えれば幸いです。
ではでは。
決定版!的な置き方はないようですが、私は以下のようにすることが多いです。
+project_dir
+ templates
+ some_app
+ templates
+ some_app
+ templates
プロジェクト全体のテンプレートはプロジェクト直下に、アプリケーションの
モデルに関連するテンプレートは汎用ビューの規約通りに置いています。
アプリケーションディレクトリ直下のtemplatesディレクトリは自
動的にサーチパスに入ります。
http://www.everes.net/2006/nov/22/django-template-loader/
プロジェクトの外側に置きたいとか、様々な意見があるようです。
徐々に何かを作ってる人が増えてきていると思いますが、皆様は
どうでしょう?
07/01/16 に nyusuke<nyu...@gmail.com> さんは書きました:
TEMPLATE_DIRSは、
露木さんの綿密な調査のように、
各appのtemplatesは自動でサーチパスが追加されますが、
優先順位高いのがカレントアプリのパスというわけではないので、
露木さんの例の通り、
+project_dir
+ templates
+ base.html
+ app1
+ templates
+ app1
+ base.html
+ app2
+ templates
+ app2
+ base.html
とおき、
render_to_response('app1/base.html' ...
といったように必要に応じて明示的に指定しています。
# これと近い意味で、(別件ですが)
# staticファイルの配置もちょっと困りますね。
# templatesと同じように、staticとかmediaといったようなフォルダをほって、
# そこを見るようにしていますが、
# FastCGIなどで動作させる場合、static関連は.htaccessなどでrewriteせずバックエンドに渡したいのでプロジェクトと混在しているのは悩ましいところではあります。
ありがとうございます。理解が深まりました。
しかし個人的には
+project_dir
+ templates
- base.html
+ app1
+ templates
+ app1 ←こいつのように
- base.html
自分の中に自分と同名のフォルダがあるのが気持ち悪い…。
ので例えば
+project_dir
+ templates
+ app1
- base.html
という風にした場合、
(これは完全に自分の気持ち悪さを解消するためだけの構成です)
アプリのポータビリティという点以外に
何か弊害が出てくる可能性はあるでしょうか?
へたれな疑問ばかりで申し訳ないです。
それでは失礼します。
--
Yusuke NAKAI
mail: nyu...@nagosui.org
web: http://nagosui.org
私はproject_dirの直下にtemplatesを置いてますよ
settings.pyに記述は必要ですが、いまのところ問題なしです。
しかし、もうちょっと規模が大きくなると
やはりappの下に置いた方がよさそうな気もします。
07/01/17 に Yusuke NAKAI<nyu...@gmail.com> さんは書きました:
> 私はproject_dirの直下にtemplatesを置いてますよ
> settings.pyに記述は必要ですが、いまのところ問題なしです。
>
> しかし、もうちょっと規模が大きくなると
> やはりappの下に置いた方がよさそうな気もします。
なるほどありがとうございます。
もっと勉強して、自分の感覚にフィットしつつ
流儀に合いそうな配置を考えることにします。
取りいそぎ失礼します。