1. アプリのurls.pyに以下を追記します。パスを指定し、viewとしてこれから新しく作るclassを設定します。classが読み取れるように、インポート設定もします。classの場合はファンクションと異なり、.as_view()を付けます。
from django.urls import path from .views import TodoList #追記 urlpatterns = [ path('list/', TodoList.as_view()), #追記 ]
2. アプリのviews.pyに、以下を追記します。
from django.shortcuts import render from django.views.generic import ListView #追記 from .models import TodoModel #追記 # Create your views here. class TodoList(ListView): #追記 引数は承継するため tamplete_name = 'list.html' #URLの設定 model = TodoModel #紐着くモデルの設定
3. templateフォルダに、アプリ名であるtodoフォルダを作成し、views.pyで設定したtemplate_nameとmodelの変数に入れた内容を_(アンダーバー)で繋いでファイル名に作成します。今回のケースではファイル名はtodomodel_list.htmlになります。コーディングをするときはシンプルなコーディングは{{}}、長いものは{% %}で挟んで記述します。例えばfor文は以下が例になります。
尚、object_listはListViewにデフォルトであるもので、リストからデータを取り出す際に使用します。
{% for item in object_list %} {{item.title}} {{item.note}} {% endfor %}