是否可以在Django对象视图中添加新的数据?



我的问题只是想问这是否可能。例如视图中的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 %}

这将导致每个参数在循环中交替使用。

最新更新