在模板中获取QuerySet的第一项

vor*_*pyg 18 django django-templates

在我的博客应用中,我想显示博客帖子列表以及与此帖子相关的第一张图片.现在我这样做:

{% for image in entry.image_set.all|slice:"1" %}
    <img src="{{ image.get_absolute_url }}">
{% endfor %}
Run Code Online (Sandbox Code Playgroud)

是否有我不知道的模板快捷方式,或者我应该写自己的经理?

Dom*_*ger 42

没有更短,但你可以使用first:

{% with entry.image_set.all|first as image %}
  <img src="{{ image.get_absolute_url }}">
{% endwith %}
Run Code Online (Sandbox Code Playgroud)


Fra*_*uzo 7

从Django 1.6开始,你可以做到

<img src="{{ entry.image_set.first.get_absolute_url }}">
Run Code Online (Sandbox Code Playgroud)