Django Academy · レッスン

MTV:Models、Templates、Views

Djangoが責務を分割する方法と、MTVとMVCの対応関係を学びます

レッスン 2/413 ステップ

「MTV:Models、Templates、Views」はCoddyKit上の無料Django Academyレッスンです。 これはレッスン2/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはDjango Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Django Academyコースには全4レッスンが含まれています。

3つの明確な役割

Djangoは、コードを整理しやすくするためにアプリを3つの役割に分けます。このパターンはMTVと呼ばれ、Models、Templates、Viewsがそれぞれ一つの明確な役割を担います。

モデルがデータを保持

Modelは、PostやUserのようなデータを表します。DjangoはこのPythonクラスをデータベースのテーブルに変換するため、SQLを書かずにクエリを実行できます。

class Post(models.Model):
    title = models.CharField(max_length=120)
    body = models.TextField()

テンプレートがデータを表示

Templateは、プレースホルダーを含むHTMLファイルです。ページ上でデータをどのように表示するかを決め、デザインとPythonのロジックを分離します。

<h1>{{ post.title }}</h1>
<p>{{ post.body }}</p>

ビューが両者をつなぐ

Viewは頭脳にあたります。リクエストを受け取り、モデルからデータを取得し、テンプレートに渡して表示します。各要素をつなぎ合わせる役割です。

def post_list(request):
    posts = Post.objects.all()
    return render(request, "list.html", {"posts": posts})

一息でわかる処理の流れ

リクエストが届くと、viewがモデルのデータを取得し、テンプレートが結果を表示します。この往復が、すべてのDjangoページの基本的な流れです。

MTVとMVC

別の場所でMVCという言葉を知ったかもしれません。MTVは名前を変えただけで同じ考え方です。ModelはModel、TemplateがView、DjangoのViewがControllerにあたります。

名前が異なる理由

Djangoがページの層をTemplateと呼ぶのは、制御自体をDjangoが担うからです。フレームワークがControllerにあたるため、その名前を使うとかえって混乱してしまいます。

関心の分離

データ、ロジック、デザインを分けて管理することを関心の分離と呼びます。モデルに触れずにテンプレートの見た目を変更できるため、コードを安定して保てます。🧩

それぞれの配置場所

モデルはmodels.pyに、ビューはviews.pyに、テンプレートはtemplatesフォルダーに配置します。配置場所を把握することは、Djangoを自信を持って扱うための重要な一歩です。

URLがビューを指す

もう一つ重要な要素があります。URLパターンがWebアドレスを適切なビューに割り当てるため、Djangoは各ページで実行すべきコードを判断できます。

urlpatterns = [
    path("posts/", post_list),
]

MTVが役立つ理由

役割が明確だと、チームで並行して作業でき、バグも見つけやすくなります。数か月後でも、どこに変更を加えるべきかがすぐにわかります。🙌

クイックチェック

大部分の処理を担うのはどの層でしょうか。

まとめ

DjangoのMTVについて理解できました。モデルがデータを保持し、テンプレートが表示し、ビューが両者をつなぎます。MVCの名前を変えたものであり、関心をきれいに分離できます。✨

無料で開始

AI チューターと学ぶ Python — 無料

ブラウザでリアルコードを書いて実行し、24/7 の AI チューターから瞬時にサポートを受け、ウェブまたはアプリで続きから学習できます。

コース
30
レッスン
120

よくある質問

「MTV:Models、Templates、Views」レッスンは無料ですか?

はい。「MTV:Models、Templates、Views」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Django Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Django Academyコースには全4レッスンが含まれています。

「MTV:Models、Templates、Views」で何を学びますか?

Djangoが責務を分割する方法と、MTVとMVCの対応関係を学びます ブラウザで直接実行するハンズオンコードでDjango Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

Django Academyを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのDjango Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン2/4です。

「MTV:Models、Templates、Views」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このDjango Academyレッスンでコードを書いて実行できますか?

はい。すべてのDjango Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. Djangoとは何か、何を解決するのか
  2. MTV:Models、Templates、Views
  3. 標準搭載機能:ORM、Admin、Auth
  4. Djangoはプロジェクトに適しているか
← Django Academyに戻る