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