Django
概要
Djangoとは、Python向けのWebアプリケーションフレームワークの一つ。アプリケーションを3層に分けるMVCアーキテクチャを基礎とする。BSDライセンスに基づいてオープンソースとして公開されている。プログラミング言語のPythonを用いて迅速にWebアプリケーションを開発するための枠組みを提供する。様々なアプリケーションに共通する基本的な機能や仕組みは実装済みで、開発者は自らのアプリケーションに固有の要素だけを記述すれば良い。
主な機能
データベースと連動したWebサイト、Webアプリケーションの開発を主眼に据えており、データモデルをPythonクラスとして記述すると、内蔵のO/Rマッパーが外部のリレーショナルデータベースを利用してデータの保管・管理を行ってくれる。
Webページの雛形にデータを埋め込んで表示するテンプレートエンジン、URLの文字列を解析してアプリケーション内のコンポーネントや機能に対応付けるディスパッチャ、フォーム入力の検証やシリアル化、キャッシュによる処理の高速化・効率化、国際化などの機能を提供する。
また、特定のエリアへのアクセスにユーザー認証を要求する仕組みや、Webアプリケーションとして実装されたサーバの管理画面、RSSフィードなどの生成、Sitemaps形式のサイトマップ生成、ページへのコメント投稿機能など便利な拡張機能が同梱されている。
対応システム
Webサーバソフトウェアとの接続・連携にはWSGIやASGIを用いることができ、Apacheやnginxなど主要なWebサーバの多くに対応する。Django自体も簡易なWebサーバソフトを内蔵しており、開発時やテスト時に手軽に動作を確認することができる。
データベース管理システム(RDBMS)との接続機能は標準でOracle Database、MySQL、PostgreSQL、SQLiteに対応しており、有志が開発・公開しているアダプタを介してSQL Server、Db2、ODBCなどに接続することもできる。KVSなどのNoSQLデータベースに対応させる拡張機能も開発されている。