Django

Django (ジャンゴ) について



Djangoは、Pythonで実装されたWebアプリケーションフレームワークです。MVC(Model-View-Controller)デザインパターンに緩やかに従っており、複雑なデータベース主体のウェブサイト構築を効率化することを主な目的としています。再利用性、プラグイン性、迅速な開発、そしてDon't repeat yourself (DRY) の原則を重視している点が特徴です。Djangoでは、データのモデルからファイルに至るまで、Pythonが一貫して使用されています。

歴史



Djangoは、元々アメリカのニュース系サイトを管理するために開発され、2005年7月にBSD[[ライセンス]]で公開されました。フレームワークの名前は、ジャズギタリストのジャンゴ・ラインハルトに由来します。

特徴



Djangoの大きな特徴は、動的に生成され、データモデルの定義を通じて完全に構成可能なデータベース管理CRUDインターフェースを提供できる点です。また、Python 3系統への対応は、バージョン1.5で実験的に開始され、1.6からは本格的にサポートされました。Python 2系統への対応は、バージョン1.11で終了しています。

採用事例



Djangoは、PBS、Instagram、Mozilla、Disqus、Bitbucket、Nextdoorなど、多くの有名なWebサイトで利用されています。

Djangoのコンポーネント



Djangoフレームワークの核となる部分は、以下の要素で構成されています。

O/RマッパーデータモデルPythonクラスとして定義)と関係データベースとの橋渡しを行います。
URLディスパッチャ正規表現に基づいてURLを処理します。
ビューシステム:リクエストを処理してレスポンスを返します。
テンプレートシステム:動的なWebページの生成をサポートします。

さらに、以下の機能もフレームワークに含まれています。

軽量Webサーバ:開発やテストに利用できるスタンドアロンのWebサーバです。
フォーム処理システム:HTMLフォームのデータをデータベースに格納可能な形式に変換、検証します。
キャッシュフレームワーク:複数のキャッシュ方式をサポートします。
ミドルウェア:リクエスト処理の各段階でカスタム処理を挿入可能です。
ディスパッチャ:アプリケーションコンポーネント間のイベント通信を実現します。
国際化機構:Django自身も多言語対応しており、多言語サイトの構築を支援します。
シリアル化機構:モデルインスタンスをXMLや形式で入出力できます。
テンプレート拡張機構テンプレートエンジンの機能を拡張できます。

バンドルされるアプリケーション



Djangoの公式配布物には、以下のような多くの便利なアプリケーションが含まれています。

認証機構:拡張可能な認証システムを提供します。
動的管理インターフェース:データベース管理用の動的なインターフェースを提供します。
フィード生成ツールRSSやAtomフィードを生成します。
コメントシステム:柔軟なコメント機能を実装できます。
サイトマップ生成ツール:サイトマップを生成します。
CSRF対策クロスサイトリクエストフォージェリを防ぐためのツールを提供します。
テンプレートライブラリ:TextileやMarkdownなどの軽量マークアップ言語を使用可能にします。

サーバ構成



Djangoは、WSGI (Web Server Gateway Interface) および ASGI (Asynchronous Server Gateway Interface) に対応しており、これらのインターフェースをサポートするWebアプリケーションサーバ上で動作します。例えば、Gunicorn、uWSGI、Uvicornなどが利用できます。また、NginxやApacheといったWebサーバと組み合わせて使用することも可能です。さらに、FastCGIサーバとして起動し、FastCGIをサポートするWebサーバのバックエンドとしても機能します。

サポートするデータベース



Djangoは、以下の関係データベースを公式にサポートしています。

PostgreSQL
MySQL
SQLite
Oracle

また、サードパーティ製のアダプターを利用することで、Microsoft SQL Server、IBM DB2、SAP SQL Anywhere、ODBC、Firebirdなどのデータベースにも接続可能です。さらに、NoSQLデータベースとの連携を可能にする拡張機能も存在します。

The Django Book



『The Django Book』は、Djangoについて解説したフリーの書籍で、GNU Free Documentation Licenseの下で提供されています。オンラインで閲覧可能です。

脚注



(特になし)

外部リンク



公式ウェブサイト (英語)
The Django Book
DJANGOPROJECT.JP - 日本のユーザーコミュニティ

もう一度検索

【記事の利用について】

タイトルと記事文章は、記事のあるページにリンクを張っていただければ、無料で利用できます。
※画像は、利用できませんのでご注意ください。

【リンクついて】

リンクフリーです。