PythonのWebアプリケーションフレームワーク”Django”について無料で学習します。
今回は”ListView”クラスについて学習します。
“ListView”クラスは継承する事によってモデルクラスのデータをリスト(一覧)形式で表示する事ができます。
準備
参考.Djang
※仮想環境”venv”にて進めます。
環境
| 環境 | version | 備考(コマンド) | 
| Rocky Linux | 8.4 | cat /etc/redhat-release | 
| Python | 3.6.8 | python -V | 
| Django | 3.2 | django-admin –version | 
開発
urls
path("", views.Index.as_view(), name="index"),
orderPro/orderApp/urls.py
from django.urls import path
# view.pyをインポート
from . import views
# アプリ名を定義
app_name = "App"
# path(呼び出しアドレス, viewの呼び出す関数, path名)
urlpatterns = [
    path("", views.Index.as_view(), name="index"),
]
views
ListViewクラスを継承します。
models.userTradeクラスを登録します。
model = models.userTrade
orderPro/orderApp/views.py
from django.shortcuts import render
from django.http import HttpResponse
from django.views.generic import ListView
from . import models
# 受注一覧
class Index(ListView):
    model = models.userTrade
    # レコード情報をテンプレートに渡すオブジェクト
    context_object_name = "user_list"
    # テンプレートファイル連携
    template_name = "AppHTML/index.html"
Template
モデルから渡したオブジェクトをfor文で1レコードずつ取得する 。
{% for userlist in user_list %}
取得したレコードのフィールドを表示する。
{{ userlist.name }}
orderPro/Template/AppHTML/index.html
{% extends "AppHTML/header.html" %}
{% block content_block %}
<h2>受注一覧</h2>
<table class="table">
  <thead>
    <tr>
        <th>ユーザー名</th>
        <th>受注参照</th>
        <th><a href="{% url 'userTradeCreate' %}">ユーザー新規登録</a></th>
        <th></th>
        <th></th>
    </tr>
  </thead>
  <tbody>
    {% for userlist in user_list %}
    <tr>
        <td>{{ userlist.name }}</td>
    </tr>
    {% endfor %}
  </tbody>
</table>
<div class="container">
  <br>
</div>
{% endblock %}
  
  
  
  

