Webアプリケーションフレームワーク Django(1)
Django(ジャンゴ)とは、Pythonで実装されたWebアプリケーションフレームワークです。
もともとはローレンス (カンザス州)にある World Companyのために、ニュース系のサイトを管理する目的で開発され、2005年7月に BSD License で公式にリリースされました。
特徴
-
多機能
WEBアプリ開発でよく使われる、「ユーザー認証」「管理画面」「サイトの案内ぺージ」「RSSフィード」など、よく使われる機能はあらかじめ含まれています。 -
セキュリティが高い
多くの共通する脅威に対して対策が施されています。
ユーザー認証システムでは、ユーザーのアカウントとパスワードを安全に管理する方法が提供されてします。 -
拡張性、柔軟性が高い
Djangoで扱う各ファイルは役割が決まっており、別々に切り分けて開発を行うことができます。
その為、それぞれ部品の独立性が高く、拡張することが容易になっています。 -
用途が広い
管理システム、ソーシャルネットワーク、科学技術計算など幅広い用途に対応しています。
コンポーネント
下記のものがコアのフレームワークに含まれます。
- 開発とテストのための軽量のスタンドアロン Web サーバ
- HTMLフォームをデータベースに格納できる値に変換するフォームのシリアル化と検証システム
- 複数のキャッシュ方法に対応したキャッシュフレームワーク
- 要求を処理するさまざまな段階に挿入し、カスタムの処理を実行できるミドルウェアクラスのサポート
- アプリケーションのコンポーネントがあらかじめ定義されたシグナルを用いてイベント通信できるようにする内部ディスパッチャシステム
- 国際化の機構(Django 自身のコンポーネントも多数の言語へ翻訳されている)
- Django モデルのインスタンスを XML および JSON に対して入出力可能なシリアル化機構
- テンプレートエンジンの機能を拡張する機構
アプリケーション
Django の公式配布物は、"contrib"パッケージ内に多数のアプリケーションを含んでいます。
- 拡張可能な認証機構
- 動的な管理インターフェイス
- RSS と Atom 配信用のフィードを生成するツール
- 柔軟なコメントシステム
- Google Sitemaps を生成するツール
- CSRF(cross-site request forgery)を防止するためのツール
- Textile や Markdown などの 軽量マークアップ言語 の使用が可能なテンプレートライブラリ
参考
侍エンジニア塾 - 【5分でわかる】Python、WEBフレームワーク「Django」とは
http://www.sejuku.net/blog/9014
Django ドキュメント
https://docs.djangoproject.com/ja/1.11/
はじめての Django アプリ作成、その 1
https://docs.djangoproject.com/ja/1.11/intro/tutorial01/
Qiita - Python Django入門 (1)
http://qiita.com/kaki_k/items/511611cadac1d0c69c54