Django 第2回 『MTVフレームワークのしくみを理解しよう』 

Django は、PythonでWebアプリケーションを開発するためのフレームワークです。
DjangoはPythonで記述されたファイル群(ライブラリ)ですが、それだけでなくアプリ開発に必要な機能(開発用サーバやデータベース管理ソフト)も搭載しています。

本シリーズでは初学者の方に向けシンプルなアプリケーション開発を通じて、Djangoのしくみをわかりやすく、要点をまとめて解説します。
第1回は基本的な『Webアプリケーションのしくみ』を解説しました。今回はDjangoがどのようにWebアプリケーションの三層構造を実現しているか、MTVフレームワークを通じて学んでいきましょう!

目次

Django と MTVフレームワーク

MTVフレームワークとは?

DjangoはMTVフレームワークです、と説明されることがありますが、「MTVフレームワーク」とは何でしょうか。まず「MTV」とは「Model(モデル)」「 Template(テンプレート)」「View(ビュー)」の頭文字です。モデル、テンプレート、ビューはWebアプリケーションにおいて以下の役割を担います。

MTV役割
Model(モデル)データベースとの連携
Template(テンプレート)WebページのもととなるHTMLドキュメント
View(ビュー)モデル、テンプレート等と連携して動的Webページを生成

例えばSNSでは登録ユーザー情報はデータベースに保管されています。ログインの際にはModelを介してユーザー照合が行われます。ViewはModelを介して取得したユーザー情報とTemplateのHTMLドキュメントを用いて動的Webページを生成し、レスポンスとしてWebブラウザへ返します。

Django におけるWeb三層構造とMTVフレームワーク

それでは前回学習したWeb三層構造においてどのようにMTVフレームワークが機能しているか、模式図を見てみましょう。

Django

ここではじめて「URLディスパッチャ」という言葉が出てきました。URLディスパッチャとはWebアプリへのアクセス(http://<ドメイン名>/~/)に基づいて、対応するViewを呼び出す仕組みです。

MTVフレームワークはレストラン?

イメージの話になってしまい必ずしも正確ではありませんが、MTVフレームワークをレストランに例えてみます。
顧客(Webブラウザ)から注文(リクエスト)を受けたウェイター(Webサーバ)が料理長(URLディスパッチャ)へ注文を伝えます。
料理長はその料理専任のシェフ(View)へ調理指示をします。シェフは冷蔵庫(データベース)から食材(データベースに保管されているデータ)を取り出し、調理(Model)します。
調理したものを専用のお皿(Template)に盛り付けし、料理長が出来を確認した上でウェイターへ配膳(レスポンス)指示をしている、とイメージすると理解しやすいかと思いますが、いかがでしょうか。

さて、前回の記事と今回の記事を通してDjangoがどのようにWeb三層構造を実現し、Webアプリケーションとして成り立っているか、ざっくりと理解できたかと思います。
次回は「開発環境の構築」に取り組んでいきましょう!

(Visited 140 times, 1 visits today)
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

職業訓練校 エヌ・キャリア・アカデミー 講師の竹内です。
初学者向けWebアプリケーション開発講座を主に担当しています。
SE Mediaでも初学者の方がWebアプリケーション制作をするために役立つ記事を発信していきます!

コメント

コメントする

目次