Django
開発元 | Lawrence Journal-World |
---|---|
最新版 | |
リポジトリ | |
プログラミング 言語 | Python |
種別 | Webアプリケーションフレームワーク |
ライセンス | BSD License |
公式サイト | www.djangoproject.com |
Django(ジャンゴ)は、Pythonで実装されたWebアプリケーションフレームワーク。 model-view-controller デザインパターンに緩やかに従う。 もともとはローレンス (カンザス州)にある World Company[1]のために、ニュース系のサイトを管理する目的で開発され、2005年7月に BSD License で公式にリリースされた。フレームワークはバンド gypsy jazz のギタリスト ジャンゴ・ラインハルト にちなんで命名された。
Django の第一の目的は、複雑で、データベース主体の Web サイトの構築を簡単にすることである。Django はコンポーネントの再利用性と'pluggability'、素早い開発、DRY (Don't Repeat Yourself)の原則に力点を置いている。ファイルやデータのモデルにいたるまで、Python が一貫して用いられている。
Django はまた、動的に生成され、データモデルの定義を通じて完全に構成することができる、データベース管理 CRUD インターフェイスをオプションで提供する。
Djangoのコンポーネント
Django フレームワークのコア部分は データモデル(Python クラスとして定義される)とリレーショナルデータベースとの間を仲介する O/R マッパー、 正規表現に基づく URL ディスパッチャ、要求を処理するビューシステム、 テンプレートシステムから構成される。
そのほか、下記のものがコアのフレームワークに含まれる:
- 開発とテストのための軽量のスタンドアロン Web サーバ
- HTMLフォームをデータベースに格納できる値に変換するフォームのシリアル化と検証システム
- 複数のキャッシュ方法に対応したキャッシュフレームワーク
- 要求を処理するさまざまな段階に挿入し、カスタムの処理を実行できるミドルウェアクラスのサポート
- アプリケーションのコンポーネントがあらかじめ定義されたシグナルを用いてイベント通信できるようにする内部ディスパッチャシステム
- 国際化の機構(Django 自身のコンポーネントも多数の言語へ翻訳されている)
- Django モデルのインスタンスを XML および JSON に対して入出力可能なシリアル化機構
- テンプレートエンジンの機能を拡張する機構
バンドルされるアプリケーション
Django の公式配布物は、"contrib"パッケージ内に多数のアプリケーションを含んでいる。
- 拡張可能な認証機構
- 動的な管理インターフェイス
- RSS と Atom 配信用のフィードを生成するツール
- 柔軟なコメントシステム
- Google Sitemaps を生成するツール
- CSRF(cross-site request forgery)を防止するためのツール
- Textile や Markdown などの 軽量マークアップ言語 の使用が可能なテンプレートライブラリ
サーバ構成
Django は Apache 2 で mod_python を使って、あるいは任意の WSGI 準拠のウェブサーバで動作させることができる。 Django は FastCGI サーバを起動することができ、FastCGI をサポートする任意のウェブサーバのバックエンドで使用することができる。
以下のデータベースが、Django での使用を公式にサポートされている。
Microsoft SQL Server 用のアダプターが開発中だが、まだ実験的なものである。
The Django Book
The Django Book は、 Django についての GNU Free Documentation License でライセンスされたフリーの書籍である。 2007年12月、Apress によって出版された。書籍はhttp://www.djangobook.com/で入手できる。
脚注
外部リンク
- 公式サイト(英語)
- The Django Book(英語)
- The Django Book(日本語)
- djangoproject.jp 日本のユーザコミュニティ
- djangosearch.com Django のサーチエンジン (日本語)