我的问题只是想问这是否可能。例如视图中的QuerySet:
item_list = ItemList.objects.all()
在item_list中,我想添加一个HTML标签来呈现给模板。
html_var = "<div> SOMETHING </div>"
item_list = item_list + html_var or something
原因:
我想根据item_list的索引来控制html标签的类型。我的第一个选择是在循环计数器上使用模数,但根据文档和其他人的评论,我们无法在模数操作符上获得余数。返回值是一个布尔值。如果您有其他建议,请告诉我。
编辑
根据@Abdul Aziz Barkat的建议,我在我的课上使用了自行车。然而,我想在左侧添加顶部和底部,然后在右侧添加顶部和底部。
目前我是这样做的:
{% for job in item_list %}
<div class="{% cycle 'left' 'left' 'right' 'right' %}">
<div class="{% cycle 'top' 'bottom' %}">
<div class="item">
<p>{{job.job_title}}</p>
</div>
</div>
</div>
{% endfor %}
但是结果变成:
<div class="left">
<div class="top">
<div class="item">
<p>{{job.job_title}}</p>
</div>
</div>
</div>
<div class="left">
<div class="bottom">
<div class="item">
<p>{{job.job_title}}</p>
</div>
</div>
</div>
<div class="right">
<div class="top">
<div class="item">
<p>{{job.job_title}}</p>
</div>
</div>
</div>
<div class="right">
<div class="bottom">
<div class="item">
<p>{{job.job_title}}</p>
</div>
</div>
</div>
我希望达到的目标:
<div class="left">
<div class="top">
<div class="item">
<p>{{job.job_title}}</p>
</div>
</div>
<div class="bottom">
<div class="item">
<p>{{job.job_title}}</p>
</div>
</div>
</div>
<div class="right">
<div class="top">
<div class="item">
<p>{{job.job_title}}</p>
</div>
</div>
<div class="bottom">
<div class="item">
<p>{{job.job_title}}</p>
</div>
</div>
</div>
使用cycle
模板标签
{% for item in item_list %}
<div class="{% cycle 'upper-left' 'lower-left' 'upper-right' 'lower-right' %}">
content here
</div>
{% endfor %}
这将导致每个参数在循环中交替使用。