为什么我的django模板没有输出模板变量对象?

时间:2015-02-18 18:10:40

标签: python django django-models django-templates django-views

我在使用模板输出我的Post对象时遇到问题,这些对象代表博客文章。在我的主索引页面上,我的博客帖子显示得很好,我加载模板变量没有问题。当用户单击其中一个存档日期(表示存档链接以显示特定日期和月份的帖子)时,将使用相同的索引页面,但会显示一组不同的帖子,按日期过滤。

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个对象列表并对其进行计数后,我可以看到它们正在被检索。问题是索引页面没有输出它们。

有人可以帮忙吗?感谢

1 个答案:

答案 0 :(得分:2)

在模板中,您应该浏览posts,而不是posts.object_list