django - 是否可以在视图中在 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>
解决方案
{% for item in item_list %}
<div class="{% cycle 'upper-left' 'lower-left' 'upper-right' 'lower-right' %}">
content here
</div>
{% endfor %}
这将导致每个参数在一个循环中交替使用。
推荐阅读
- vb.net - 如何使子程序单击图片框?
- apache-camel - Camel spring xml jpa 事务路由未以独立模式启动
- amazon-web-services - 如何创建仅允许在同一 CloudFormation 堆栈中创建的资源承担 IAM 角色的条件?
- node.js - 在运行时实例化一个知道文件路径的类
- r - htmltab 找不到使用数字或字符向量作为“哪个”参数的表
- android-kernel - 致命错误:fw_data_5517.i:没有这样的文件或目录#include“fw_data_5517.i”
- c# - 使用 Microsoft Graph 从 Office 365 邮箱中获取退回的电子邮件
- javascript - 如何仅从一个脚本运行所有脚本?(带有 React.js 的 HTML)
- javascript - 如何使用快递服务目录?
- javascript - 如何使用 HTML 画布裁剪图像并调整其大小而不使其模糊?