为什么我的 Django 模板不输出模板变量对象?
Why is my django template not outputting template variable object?
我在让我的模板输出代表博客 post 的 Post
对象时遇到问题。在我的主索引页面上,我的博客 posts 显示得很好,加载模板变量也没有问题。当用户单击其中一个存档日期(表示存档 link 以显示某一天和某月的 post 时,将使用相同的索引页面,但会给出一组不同的 posts 显示,按日期筛选。
views.py
def month(request, year, month):
"""Monthly archive."""
posts = Post.objects.filter(created__year=year, created__month=month)
d = dict(posts=posts, user=request.user, months=mkmonth_lst(), archive=True)
return render(request, 'blog/index.html', d)
index.html
{% for post in posts.object_list %}
<div class="blogpost">
<div class="blogpost-title"><h2>{{ post.title }}<h2></div>
<div class="blogpost-meta"><h4>{{ post.created }}</h></div>
<div class="blogpost-body">{{ post.body|linebreaks }}</div>
<div class="blogpost-comments"><a href="{% url 'post' post.id %}">Comments</a></div>
</div>
{% endfor %}
在上面的月份函数中,在检索到 Post
个对象的列表并对它们进行计数后,我可以看到它们正在被检索。问题是索引页没有输出它们。
有人可以帮忙吗?谢谢
在您的模板中,您应该遍历 posts
,而不是 posts.object_list
。
我在让我的模板输出代表博客 post 的 Post
对象时遇到问题。在我的主索引页面上,我的博客 posts 显示得很好,加载模板变量也没有问题。当用户单击其中一个存档日期(表示存档 link 以显示某一天和某月的 post 时,将使用相同的索引页面,但会给出一组不同的 posts 显示,按日期筛选。
views.py
def month(request, year, month):
"""Monthly archive."""
posts = Post.objects.filter(created__year=year, created__month=month)
d = dict(posts=posts, user=request.user, months=mkmonth_lst(), archive=True)
return render(request, 'blog/index.html', d)
index.html
{% for post in posts.object_list %}
<div class="blogpost">
<div class="blogpost-title"><h2>{{ post.title }}<h2></div>
<div class="blogpost-meta"><h4>{{ post.created }}</h></div>
<div class="blogpost-body">{{ post.body|linebreaks }}</div>
<div class="blogpost-comments"><a href="{% url 'post' post.id %}">Comments</a></div>
</div>
{% endfor %}
在上面的月份函数中,在检索到 Post
个对象的列表并对它们进行计数后,我可以看到它们正在被检索。问题是索引页没有输出它们。
有人可以帮忙吗?谢谢
在您的模板中,您应该遍历 posts
,而不是 posts.object_list
。