javascript - Django - 查询集索引而不是循环

标签 javascript python html django django-queryset

Home Page

在上图中,我试图找到一种方法来显示数据库中的 6 个精选帖子,而不是仅显示 HTML 中的 6 个静态实体。

这是主页的 View :

from django.shortcuts import render
from singlePost.models import Post

# Create your views here.
def index(request):
    queryset = Post.objects.filter(featured=True)
    context = {
        'object_list': queryset
    }
    return render(request, 'index.html', context)

下面是主页 HTML 中的一些代码(循环访问 object_list):

{% for obj in object_list %}
{% if forloop.counter0 == 0 %}
<h3 class="mb-15 mb-sm-5 font-sm-13"><b>{{ obj.title }}</b></h3>
{% endif %}
{% endfor %}

我的问题是:如何获取 object_list 的索引,以便我可以只使用前 6 个精选帖子?

我不知道该怎么做,所以它当前正在循环所有帖子,并且我使用上面所示的 if 来检查当前索引,但这似乎是错误的循环 6 次而不是使用索引。如果所有 div 都相同,则围绕 div 的循环会很好,但正如您在图片中看到的那样,它们并非如此。

那么,如何获取 QuerySet 的索引?或者还有比我想到的两种方法更好的方法吗?

谢谢

最佳答案

在index()中,您定义了查询集,如下所示

queryset = Post.objects.filter(featured=True).order_by("-id")[:6]

order_by("-id") 将首先返回最新的精选帖子,[:6] 只会返回 6 个帖子。

https://docs.djangoproject.com/en/2.2/ref/models/querysets/#reverse

关于javascript - Django - 查询集索引而不是循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57234093/

相关文章:

javascript - 当元素在其中绝对定位子元素时获取元素的完整宽度

javascript - 单击标签时放置图像

python - 在 SQLAlchemy 中使用 OR

python - Django:从 One2Many 关系中获取选定的字段

javascript - 如何使用选择列表从指令更新父级上的模型

Javascript String nodejs 流实现

python - 写入 COIN-OR CBC 日志文件

javascript - 登录表单不会消失

html - Safari 中的文本缩进,隐藏背景图像

jquery - 如何使用 jquery 制作显示/隐藏切换按钮