質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.46%
Django

DjangoはPythonで書かれた、オープンソースウェブアプリケーションのフレームワークです。複雑なデータベースを扱うウェブサイトを開発する際に必要な労力を減らす為にデザインされました。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

0回答

704閲覧

カテゴリで選択したものがhtml上に表示されない

masa530

総合スコア5

Django

DjangoはPythonで書かれた、オープンソースウェブアプリケーションのフレームワークです。複雑なデータベースを扱うウェブサイトを開発する際に必要な労力を減らす為にデザインされました。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2021/06/15 06:11

前提・実現したいこと

ここに質問の内容を詳しく書いてください。
Python(Django)で食べたものが表示されるウェブアプリを作っています。
カテゴリーに朝食、昼食、夕食、間食とあり選択できるようにしています。
選択はできるのですが、html上に表示されなくて手が止まり困っています。
自分はまだ知識が浅く、簡単なことだとは思うのですがどうにも解決できないので、どなたかご教授いただけると幸いです。

発生している問題・エラーメッセージ

エラーメッセージ

該当のソースコード

# views.py @login_required def foods(request): today = datetime.datetime.today() # foods = Food.objects.filter(eaten_date=today) user_foods = Food.objects.order_by('category').filter(user=request.user, eaten_date=today) # これでも合計カロリーは出る # kcal = foods.aggregate(Sum('kcal')) # protein = foods.aggregate(Sum('protein')) # total_kcal kcal_list = [food['kcal'] for food in user_foods.values('kcal')] ttl_kcal = sum(kcal_list) # total_protein protein_list = [food['protein'] for food in user_foods.values('protein')] ttl_protein = sum(protein_list) # total_fat fat_list = [food['fat'] for food in user_foods.values('fat')] ttl_fat = sum(fat_list) # total_carb carb_list = [food['carb'] for food in user_foods.values('carb')] ttl_carb = sum(carb_list) context = { 'ttl_kcal': ttl_kcal, 'ttl_protein': ttl_protein, 'ttl_fat': ttl_fat, 'ttl_carb': ttl_carb, 'user_foods': user_foods, } return render(request, 'base/my_foods_list.html', context)

models.py

1from django.db import models 2from django.contrib.auth.models import User 3from django.core.validators import MaxValueValidator, MinValueValidator 4# Create your models here. 5CATEGORY = (('breakfast','朝食'),('lunch','昼食'),('dinner','夕食'), ('snack','間食')) 6class Food(models.Model): 7 user = models.ForeignKey(User, on_delete=models.CASCADE, null=True, blank=True) 8 category = models.CharField(max_length=200, choices=CATEGORY) 9 name = models.CharField(max_length=200) 10 kcal = models.PositiveSmallIntegerField() 11 protein = models.DecimalField(max_digits=4, decimal_places=1, blank=True, null=True, default=0.0, validators=[MaxValueValidator(999.9), MinValueValidator(0.0)]) 12 fat = models.DecimalField(max_digits=4, decimal_places=1, blank=True, null=True, default=0.0, validators=[MaxValueValidator(999.9), MinValueValidator(0.0)]) 13 carb = models.DecimalField(max_digits=4, decimal_places=1, blank=True, null=True, default=0.0, validators=[MaxValueValidator(999.9), MinValueValidator(0.0)]) 14 description = models.TextField(null=True, blank=True) 15 eaten_date = models.DateField(editable=True, blank=True, null=True) 16 created = models.DateTimeField(auto_now_add=True) 17 def __str__(self): 18 return self.name

html

1{% if request.user.is_authenticated %} 2 <p>Welcome {{ request.user }}</p> 3 <a href="{% url 'logout' %}">Logout</a> 4{% else %} 5 <a href="{% url 'login' %}">Login</a> 6{% endif %} 7 8<hr> 9 10<h1>今日食べたもの</h1> 11<p>本日は{% now "F" %}{% now "j" %}日({% now "l" %})です</p> 12 13<a href="{% url 'food-create' %}">追加</a> 14<a href="{% url 'all-foods' %}">一覧</a> 15<a href="">目標設定</a> 16 17 18<!-- {{ kcal.kcal__sum }} 19 {{ protein.protein__sum }} --> 20 21{% if user_foods %} 22 <table> 23 <tr> 24 <th>食べもの</th> 25 <th>カロリー</th> 26 <th>タンパク質</th> 27 <th>脂質</th> 28 <th>炭水化物</th> 29 <th>日付</th> 30 <th>カテゴリ</th> 31 </tr> 32 {% for food in user_foods %} 33 <tr> 34 <td>{{ food.name }}</td> 35 <td>{{ food.kcal }}</td> 36 <td>{{ food.protein }}</td> 37 <td>{{ food.fat }}</td> 38 <td>{{ food.carb }}</td> 39 <td>{{ food.eaten_date }}</td> 40 <td>{{ food.catogory }}</td> 41 <td><a href="{% url 'food-update' food.id %}">編集</a></td> 42 <td><a href="{% url 'food-delete' food.id %}">削除</a></td> 43 </tr> 44 {% endfor %} 45 <tr> 46 <th>合計</th> 47 <th>{{ ttl_kcal }}</th> 48 <th>{{ ttl_protein }}</th> 49 <th>{{ ttl_fat }}</th> 50 <th>{{ ttl_carb }}</th> 51 </tr> 52 <tr> 53 <th>目標</th> 54 <th>1960</th> 55 <th>130</th> 56 <th>54.5</th> 57 <th>237</th> 58 59 </tr> 60 </table> 61{% else %} 62 <p>No Foods have benn eaten today</p> 63{% endif %} 64 65<!-- <p>目標は1960kcal, P130, F54.5, C237だよ</p> --> 66<a href="{% url 'blogs' %}">ブログへ</a>

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.46%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問