我用 Django 创建了一个博客,我希望我最后发布的帖子出现在第一页。这是我的views.py代码:
def index(request):
messages = get_list_or_404(Message.objects.order_by('publication_date'))
last = messages[-1]
return render_to_response('posts/index.html', {
'last_message' : last,
'posts_list' : messages,
})
但我不明白为什么,在此页面上按 F5 时,它会随机打印最后一篇文章(如预期的那样)或第一篇文章(没有任何明显原因)(有时是最后一篇文章,有时是第一篇文章)。
这种行为发生在使用 mod_wsgi 运行的 apache2 而不是 django 开发服务器(它总是显示最后一篇文章)。
有没有人有任何线索?
非常感谢
编辑:这是我在 index.html 模板中使用的代码:
{% if last_message %}
<article>
<h1><a href="/posts/{{ last_message.id }}">{{ last_message.title }}</a></h1>
<p class="meta_infos">Published on {{ last_message.publication_date }}</p>
<p>{{ last_message.text }}</p>
</article>
{% else %}
<p>No post available</p>
{% endif %}