Djangoについて
Pythonで作られたフルスタック・フレームワーク。フルスタック・フレームワークを使ったことがない方は、Djangoに限らずですが一度使ってみて下さい。便利でビビリます。
以下、Djangoの特徴について。
MVC(MTV)
いわゆるMVCフレームワークですが、Djangoでは以下のような対応になっていて紛らわしい。
通常のMVC | Djangoの場合 |
M | models |
V | templates |
C | views |
モデルとテーブルの同期
先述の models からDBのテーブル(データじゃない)を作成・変更・削除したり、逆に既存のテーブルからmodelsを作成したりできます。(失敗してハマることはありますが…)
Adminサイト
DBとテーブルを作ればテーブルのデータをメンテナンスできる管理画面を、ほとんど自動的に作成でき、カスタマイズもできます。
用途は、マスタメンテ画面として使用したり、プロトタイプとしても使えると思います。カスタマイズを上手くできるようになれば、簡単にプロトタイプをつくれるようになりそうです。
認証機能がついてる
Django でのユーザ認証 — Django 1.4 documentation にある通り、はじめから認証機能があります。固有アプリ用の画面(template)に変えるだけで充分使えます。
また、Djangoでシングルサインオンできる外部PKGもあります。
URLディスパッチャの正規表現
通常のMVCフレームワークのルーター(クライアントからのリクエストを最初に振り分けるとこ)がURLディスパッチャ(urls.py)と言う名前なのですが、リクエストURLが正規表現にマッチしたら振り分ける仕組みになってます。ここ以外は直観的に作れる感じなのですが、正規表現をスラスラかける人なんているのかしら?と思ってしまいます。
Djangoの設計思想
他にもたくさん特徴があるのですが、Django の設計思想 — Django 1.4 documentation を説明した記事があります。聞いたことない単語が出てくるし、直訳っぽいので読みにくいですが、考えこまずにひとまず読んでみてください。その後、この設計思想について書いた記事、Java開発者の読むDjangoの設計思想 - やさしいデスマーチ を読むと、自分がJavaをやっていたせいもあるかもしれませんが、とても理解し易いです。
Djangoの特徴を自分でちゃんと書こうと考えてましたが、Java開発者の読むDjangoの設計思想 - やさしいデスマーチ が解り易いので、これでおしまい。