具有备用背景图像的列表视图



这段代码不起作用!我想显示一个红色图像,然后显示一个蓝色图像。如果我有 5 个对象,列表应该是:红蓝红蓝红红。

我想用 2 种颜色来做这件事。我尝试了以下代码:

{% extends './base.html' %}
{% block content %}
{% for object in object_list %}
{% if forloop.counter0 % 2 ==0 }
<img src="img/red.jpg">
<p> {{object.title}} </p>
{% else %}
<img src="img/blue.jpg">
<p> {{object.title}} </p>

{% endif %}

{% endfor %}
{% endblock content %}

您不能在模板中使用%。Django 有一个divisibleby过滤器,你可以使用。

但是,最好使用cycle标记:

{% for object in object_list %}
<img src="{% cycle 'image/red.jpg' 'image/blue.jpg' %}">
<p>{{object.title}}</p>
{% endfor %}

Django 模板没有模数 %,它们使用divisibleby:2

所以你的代码将是这样的:

{% if forloop.counter0|divisibleby:2 %}

最新更新