前提・実現したいこと
Djangoでmodelの中身をtemplateに表形式で出力させる方法
上記の機能を実装中にtemplateに表示されない現象が発生しました。
Choromeのコンソールで見ても内容が読み込まれていないようなのでお伺いしたいです。
Python 3.7.3
Django 2.2
該当のソースコード
model
1from django.db import models 2 3 4class Menu(models.Model): 5 class Meta: 6 verbose_name = "メニュー" 7 verbose_name_plural = "メニュー" 8 9 # カラムの定義 10 name = models.CharField(verbose_name="名前", max_length=100) 11 category = models.ForeignKey(Category, on_delete=models.PROTECT, verbose_name="カテゴリ") 12 calorie = models.IntegerField("カロリー", help_text="単位はkcal") 13 protein = models.FloatField("タンパク質", help_text="単位はg") 14 fat = models.FloatField("脂質", help_text="単位はg") 15 carbohydrate = models.FloatField("炭水化物", help_text="単位はg") 16 17 def __str__(self): 18 return self.name 19 20class Category(models.Model): 21 class Meta: 22 # カテゴリ 23 verbose_name = "カテゴリー" 24 verbose_name_plural = "カテゴリー" 25 26 # カラム名の定義 27 category_name = models.CharField(max_length=255, unique=True) 28 29 def __str__(self): 30 return self.category_name 31
view
1from .models import Menu 2from django.views import generic 3 4class MenuIndex(generic.ListView): 5 template_name = 'foodlist/datatable.html' 6 model = Menu 7 paginate_by = 10
url
1 2from django.urls import path 3from . import views 4 5app_name = 'foodlist' 6 7 8urlpatterns = [ 9 path('', views.MenuIndex.as_view(), name='MenuIndex'), 10] 11
template
1 2<!-- テーブル表の定義 --> 3 <table id="menu_list" width="100%" class="table table-striped table-bordered table-hover"> 4 <!-- 表の列の定義--> 5 <thead> 6 <tr> 7 <th class="text-center">名前</th> 8 <th class="text-center">カテゴリー</th> 9 <th class="text-center">カロリー</th> 10 <th class="text-center">タンパク質</th> 11 <th class="text-center">脂質</th> 12 <th class="text-center">炭水化物</th> 13 </tr> 14 </thead> 15 <!-- ここまでが表の列の定義--> 16 17 <!-- 表のデータ部分の表示--> 18 <tbody> 19 {% for menu in MenuIndex %} 20 <tr> 21 <td class="text-center" width="100">{{ menu.name }}</td> 22 <td class="text-center" width="100">{{ menu.category }}</td> 23 <td class="text-center" width="140">{{ menu.carolie }}kcal</td> 24 <td class="text-center" width="140">{{ menu.protein }}g</td> 25 <td class="text-center" width="140">{{ menu.fat }}g</td> 26 <td class="text-center" width="140">{{ menu.carbohydrate }}g</td> 27 </tr> 28 {% endfor %} 29 </tbody> 30 <!-- ここまでが表のデータ部分の表示--> 31 </table> 32 <!-- ここまでがテーブル表の定義 --> 33 </form> 34
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2019/10/23 04:00
2019/10/23 04:39