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の設計思想 - やさしいデスマーチ が解り易いので、これでおしまい。