MTV:Models、Templates、Views
Djangoが責務を分割する方法と、MTVとMVCの対応関係を学びます
「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フィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- Djangoとは何か、何を解決するのか
- MTV:Models、Templates、Views
- 標準搭載機能:ORM、Admin、Auth
- Djangoはプロジェクトに適しているか