Djangoを使ってBlogを作成しております。
Modelにclass Categoryを下記のように追加しました
Admin側でCategory内にnameとDescriptionデータを下記のように追加したのですが、
実際のHTMLではSteve Jobsという、Category modelのnameの部分しか表示されません↓
![]
どのようにすればnameとdescription両方を表示できるでしょうか?
{{ category }}とすればmodel categoryに登録されているものが表示される(今回の場合はname, description)という認識でしたが、間違っていますか?
ちなみにviewは下記のように設定しています。
python
1def blog_category(request, category): 2 posts = Post.objects.filter(categories__name__contains=category).order_by( 3 "-created_on" 4 ) 5 context = {"category": category, "posts": posts,} 6 return render(request, "blog_category.html", context)
下記コードを全記しました
model.py
from django.db import models class Category(models.Model): name = models.CharField(max_length=20) description = models.TextField(default="") def __str__(self): return self.name + self.description
view.py
from django.shortcuts import render from blog.models import Post, Category def blog_category(request, category): posts = Post.objects.filter(categories__name__contains=category).order_by( "-created_on" ) context = {"category": category, "posts": posts,} return render(request, "blog_category.html", context)
HTML
{% extends "base.html" %} {% block page_content %} <div class="col-md-8 offset-md-2"> <h1>{{ category | title }}</h1> <p>{{category}}</p> <hr> {% for post in posts %} <h2><a href="{% url 'blog_detail' post.pk%}">{{ post.title }}</a></h2> <small> {{ post.created_on.date }} | Categories: {% for category in post.categories.all %} <a href="{% url 'blog_category' category.name %}"> {{ category.name }} </a> {% endfor %} </small> <p>{{ post.body | slice:":400" }}...</p> {% endfor %} </div> {% endblock %}
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/05/29 05:55
2020/05/29 06:13
2020/05/29 06:28
2020/05/29 06:39
2020/05/29 06:48 編集
2020/05/29 06:47
2020/05/29 06:48
2020/05/29 06:57
2020/05/29 07:02 編集
2020/05/29 07:09
2020/05/29 07:11
2020/06/03 14:11 編集