Djangoは、プログラミング言語Pythonを使用してWebアプリケーションを構築するためのフレームワークです。
Djangoは、2005年にLawrence Journal-WorldのWeb開発者が、Webサイト構築のための言語としてPythonを使い始めたのがきっかけで誕生しました。そして2008年、フレームワークの最初の一般公開が始まりました。現在に至るまで、進化を続けているのです。したがって、本稿執筆時点のフレームワークの現行バージョンは、2021年12月にリリースされたバージョン4.0である。そして、バリエーションもコンスタントにリリースされています。
Djangoはかなり人気があります。Pinterest、National Geographic、Instagram、Washington Times、Mozillaなど、多くのサイトで使用されています。
フレームワークは無料です。 オープンソースとして開発されており、そのソースコードはオープンであり、githubのリポジトリにあります。
Django では、個人の小さなウェブサイトから高負荷で複雑なウェブサービスまで、幅広いウェブアプリケーションを構築することができます。
Django はデフォルトで、認証システム、サイトマップ生成など、多くの一般的なタスクに対して、すぐに使える機能を提供しているので、車輪を再発明する必要はなく、すでに箱から出してあるコンポーネントを利用すればよいだけなのです。。
Django はセキュリティに強くフォーカスしているので、開発者は sql インジェクションのような多くの一般的なセキュリティ問題を回避することができるフレームワークです。
Django フレームワークは Model-View-Template アーキテクチャパターン、略して MVT を実装しており、これは実際、ウェブプログラミングで広く使われている MVC (Model=-View-Controller) パターンを修正したものです。
Django における MVT のアーキテクチャを模式的に表すと、以下のようになります。
パターンの主な要素:
アプリケーションにリクエストが来ると、URLディスパッチャはそのリクエストがどのリソースにマッピングされているかを判断し、選択されたリソースにリクエストを渡します。リソースとは、実際にはリクエストを受け取り、それをある方法で処理する機能またはViewを表します。処理中、Viewはモデルやデータベースにアクセスし、そこからデータを受信したり、逆にデータを保存したりすることがあります。クエリ処理の結果は送り返され、ユーザーはこの結果をブラウザで見ることができる。クエリ処理の結果は、原則としてテンプレートで生成されたhtmlコードとなります。
関連記事