django包含带有循环变量的模板
Posted
技术标签:
【中文标题】django包含带有循环变量的模板【英文标题】:django include template with cycled variable 【发布时间】:2017-03-07 20:51:25 【问题描述】:我有一个任务列表,其中包含任务类型组的标题。我正在尝试将任务行(最后一个 <tr>
)移动到它自己的模板中:
% for task in tasks %
% ifchanged task.task_type %
<tr>
<td colspan="5"><br><h3> task.task_type </h3></td>
</tr>
% endifchanged %
<tr class="% cycle 'active' '' as rowcolor %">
...
</tr>
% endfor %
我知道使用 CSS 制作交替的行颜色很容易,但这可能会使某些组标题行变成灰色,然后是白色行;我希望所有组标题行都是白色的,并且该组的后续行以灰色行开头。
我想要做的是将最后一个 <tr>
替换为
% include '_row.html' with rowcolor="% cycle 'active' '' %" %
但似乎% %
不能嵌套。在 rowcolor
值中使用
也不起作用。有没有办法做到这一点?
【问题讨论】:
【参考方案1】:你可以试试:
% cycle 'active' '' as active_or_not silent %
% include '_row.html' with rowcolor=active_or_not %
希望对你有帮助
【讨论】:
啊,不知道silent
标志。谢谢!
在 Django 1.9(仅我测试过的版本)中,这不允许嵌套模板推进循环,只能访问当前值。以上是关于django包含带有循环变量的模板的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Django 2.1 中的模板内的 for 循环内设置变量?
如何将带有上下文变量的 Django 模板发送到 Ajax 调用?
Django 模板语言:使用带有 else 的 for 循环