Django

出典: フリー百科事典『ウィキペディア(Wikipedia)』
移動先: 案内検索
Django
開発元 Lawrence Journal-World
最新版 1.11.3 / 2017年7月1日(4か月前) (2017-07-01
リポジトリ github.com/django/django
プログラミング言語 Python
種別 Webアプリケーションフレームワーク
ライセンス BSD License
公式サイト www.djangoproject.com
テンプレートを表示

Django(ジャンゴ)は、Pythonで実装されたWebアプリケーションフレームワークmodel-view-controller デザインパターンに緩やかに従う。 もともとはローレンス (カンザス州)にある World Company[1] のために、ニュース系のサイトを管理する目的で開発され、2005年7月に BSD License で公式にリリースされた。フレームワークはジプシー・スウィングのギタリストであるジャンゴ・ラインハルトにちなんで命名された。

Django の第一の目的は、複雑なデータベース主体の Web サイトの構築を簡単にすることである。Django はコンポーネントの再利用性と'pluggability'、素早い開発、DRY (Don't Repeat Yourself)の原則に力点を置いている。ファイルやデータのモデルにいたるまで、Python が一貫して用いられている。

Django はまた、動的に生成され、データモデルの定義を通じて完全に構成することができる、データベース管理 CRUD インターフェイスをオプションで提供する。

Python3系統にはDjango 1.5バージョンで実験的に対応し、Django 1.6より本格的に対応した[2][3]

Python2系統への対応は、次期1.11(3年サポートのLTS)が最後で、次のバージョンは2.0となり、Python3.5+にのみ対応する予定。

Djangoのコンポーネント[編集]

Django フレームワークのコア部分は データモデル(Python クラスとして定義される)と関係データベースとの間を仲介する O/R マッパー正規表現に基づく URL ディスパッチャ、要求を処理するビューシステム、 テンプレートシステムから構成される。

そのほか、下記のものがコアのフレームワークに含まれる:

  • 開発とテストのための軽量のスタンドアロン Web サーバ
  • HTMLフォームをデータベースに格納できる値に変換するフォームのシリアル化と検証システム
  • 複数のキャッシュ方法に対応したキャッシュフレームワーク
  • 要求を処理するさまざまな段階に挿入し、カスタムの処理を実行できるミドルウェアクラスのサポート
  • アプリケーションのコンポーネントがあらかじめ定義されたシグナルを用いてイベント通信できるようにする内部ディスパッチャシステム
  • 国際化の機構(Django 自身のコンポーネントも多数の言語へ翻訳されている)
  • Django モデルのインスタンスを XML および JSON に対して入出力可能なシリアル化機構
  • テンプレートエンジンの機能を拡張する機構

バンドルされるアプリケーション[編集]

Django の公式配布物は、"contrib"パッケージ内に多数のアプリケーションを含んでいる。

サーバ構成[編集]

Django は Apache 2mod python を使って、あるいは任意の WSGI 準拠のウェブサーバで動作させることができる。NginxとuWSGIでも動作が可能となっている。 Django は FastCGI サーバを起動することができ、FastCGI をサポートする任意のウェブサーバのバックエンドで使用することができる。

以下のデータベースが、Django での使用を公式にサポートされている。

サードパーティから、Microsoft SQL Server 用のアダプター Django MSSQLIBM DB2 用のアダプター ibm_db に加え、SAP SQL Anywhere、ODBCFirebirdへのアダプターも提供されている。

The Django Book[編集]

The Django Book は、 Django についての GNU Free Documentation License でライセンスされたフリーの書籍である。 2007年12月、Apress によって出版された。書籍は http://www.djangobook.com/ で入手できる。

脚注[編集]

  1. ^ LJWorld.com / About us
  2. ^ DjangoかPyramidか!? 火花散るパネルに注目のPyCon JPレポート” (2012年9月24日). 2014年3月11日閲覧。
  3. ^ Django 1.6, Python 3 & PostGIS” (2013年11月18日). 2014年3月11日閲覧。

外部リンク[編集]