模板中的 Django forloop

Posted

技术标签:

【中文标题】模板中的 Django forloop【英文标题】:Django forloop in templates 【发布时间】:2016-06-26 19:15:16 【问题描述】:

我想在数据库中显示我所有的博客以及订单的最新帖子,所以我尝试

%for i in post%
    post.title
    post.post_time|date:"Y/m/d"
    post.content

但我不能让最新的显示在页面顶部

我知道 forloop.last 可以显示最新的但只显示了一次,

forloop怎么办??

【问题讨论】:

你的意思是i.title对吗? 我的回答对您有帮助吗?如果是,请接受。 是的,成功了!!!谢谢你的回答 不客气。如果有效,请点击答案中的“复选标记”接受。 我不能投票,因为我没有 15 声望 【参考方案1】:

您的排序似乎有问题,请尝试在查询时对结果进行排序,例如:MyModel.objects.order_by('myfield') 使用 -myfield 进行降序。

【讨论】:

我明白了!!谢谢,但有点疑问为什么要使用 -field 而不是 field ? - 是什么意思 -表示降序排列,不加-表示升序排列。【参考方案2】:

您必须在您的视图中进行排序。

# views.py
post = Post.objects.all().order_by('-post_time')

这将按日期对您的帖子进行排序。

【讨论】:

以上是关于模板中的 Django forloop的主要内容,如果未能解决你的问题,请参考以下文章

Django 模板中的 Handlebars.js

模板标签模板中的 Django 模板块

django 模板中的 $ ... $ 代表啥?

如何访问 django 模板中的 django ManyToManyField

javascript中的Django模板值

Django 管理模板:访问模板中的请求对象