为什么我的 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