用途に応じて、個人のブログサイトやコーポレートサイト、エンタープライズ用途のCMSに至るまで様々なデフォルトプロジェクトも予め用意されており、30〜40個のアプリのどれをインストールして使えばよいか悩むこともありません。
今回は、Pinaxの全容を紹介します。
Djangoのテンプレートは、{% extends "hoge.html" %}や{% include "hoge.html" %}などの タグと{{hogevar}}の変数と定数文字列からなっています。
テンプレートを理解する上でもう一つ重要なのが、テンプレートのオーバーライドです。 テンプレートはある規則に従ってファイルシステム内を検索されます。#正確には、templatedbなどのDBベースのテンプレートデータも存在していますが。
オーバーライドをマスターすると、アプリごとにHTMLを変更したいものだけ別ディレクトリで管理する
ことができるようになり、どれくらいの差分開発が発生したかを理解するのに役立ちます。
Djangoでは、モデルを定義するとそのままフォームを生成してくれる機能があります。 ModelFormという機能で、以下のように自動生成したいフォームクラスのメタクラスに、実際にデータが保存されるモデルクラス名を指定するだけです。
例として、Djangoの既存んモデルクラスであるUserを拡張する例を記述いたします。
フォームの値は大抵の場合、DBに保存することになるでしょうから、これは非常に便利だと思います。