Djangoでadminのカスタムテンプレートタグとかテンプレートの拡張とかでハマった点を情報展開しとく。あと備忘録用。
テンプレートのディレクトリ構成は?
過去にdjango-jaで議論してたのを参考に下記の構成で。
(ごめんなさい。議論のページをロストしました...。)
<project-dir> |-- <app-dir> | |-- templates | | `-- admin | | `-- <app-dir> ※アプリケーションディレクトリと同名。 | | `-- *.html アプリのadminテンプレートに対しての拡張。 | `-- templatetags | |-- __init__.py Pythonライブラリとして認識させるため必須。 | `-- *.py カスタムテンプレートタグのコード。 `-- templates `-- admin `-- *.html adminテンプレート全体に対しての拡張。
テンプレートディレクトリをsettings.pyに登録する。
settings.pyのTEMPLATE_DIRSに登録する。登録するのは2つ。
- '/path/to/django/
/templates' - '/path/to/django/
/ /templates'
/path/to/django/という絶対パスが入ってしまうのだけど、これ回避する策ないかな...。
カスタムテンプレートタグディレクトリをsettings.pyに登録する。
settings.pyのINSTALLED_APPSに登録する。
- '
. .templatetags'
あるいは、カスタムテンプレートタグのコードファイルがextras.pyだとしたら、
- '
. .templatetags.extras'
これも、INSTALLED_APPSに登録するより賢い方法を模索中。
あとは...
あとはDjangoの翻訳ドキュメントにのっとり拡張すればいいよ。他にハマリどころはないはず。
参考書籍
django-jaの翻訳ドキュメントとともに下記書籍を参考にしました。
開発のプロが教える標準Django完全解説―Webアプリケーションフレームワーク (デベロッパー・ツール・シリーズ)
- 作者: 増田泰,中居良介,露木誠,松原豊
- 出版社/メーカー: アスキー・メディアワークス
- 発売日: 2008/06/19
- メディア: 単行本
- 購入: 10人 クリック: 84回
- この商品を含むブログ (36件) を見る
余談
業務はPHPが中心だったのだけど、Djangoのadmin利用してサクっと管理画面作ったら暗黙的にDjango採用OKという社内空気。
Tracは着任当初にSubversionとともに導入してプラグイン作ったり。Sphinxは使い始めでこのあと他のアプリに組み込む予定。