タイトル: MVCアプリケーション実装例
これはdjangoの簡単なMVCアプリケーション実装例の記事です。
以下に実装例を記載します。
アプリケーション名は「app1」とします。
この実装例はデータベースから値を取り出して画面に表示します。
以下の順序で説明します。
1.Model
2.テーブルのレコード
3.View
4.Template
5.画面の出力
1.Modelの定義
\app1\models.py |
---|
from django.db import models
field1 = models.CharField(max_length=200) field2 = models.IntegerField(default=0) field3 = models.DateTimeField(default=datetime.now) def __str__(self): |
今回の実装例ではfield1とfield3を画面に出力します。
2.テーブルのレコード
app1_model1テーブルのレコード一覧 |
---|
sqlite> select field1, field3 from app1_model1;
|
テーブルに格納されているレコードの確認です。
3.Viewの定義(通常のMVCではControllerに相当)
\app1\views.py |
---|
from django.shortcuts import render
|
下記でfield3を降順で3つのオブジェクトを取得しています。
Model1.objects.order_by('-field3')[:3] |
下記で取得したオブジェクトをcontextに辞書で格納します。
context = {'latest_object_list': latest_object_list} |
下記で表示するTemplateとcontextを返却しています。
render(request, 'app1/index.html', context) |
4.Templateの定義
\app1\templates\app1\index.html |
---|
{% if latest_object_list %}
{% else %} No objects are available. {% endif %}
|
contextに格納された「latest_object_list」を for文で 1つずつ「object」として取り出しています。
「object」のカラムである「field1」と「field3」を画面に表示します。
5.画面の出力