【问题标题】:django include template with cycled variabledjango包含带有循环变量的模板
【发布时间】: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 制作交替的行颜色很容易,但这可能会使某些组标题行变成灰色,然后是白色行;我希望所有组标题行都是白色的,并且该组的后续行以灰色行开头。

我想要做的是将最后一个 &lt;tr&gt; 替换为

{% include '_row.html' with rowcolor="{% cycle 'active' '' %}" %}

但似乎{% %} 不能嵌套。在 rowcolor 值中使用 {{ }} 也不起作用。有没有办法做到这一点?

【问题讨论】:

    标签: django django-templates


    【解决方案1】:

    你可以试试:

    {% cycle 'active' '' as active_or_not silent %}
    {% include '_row.html' with rowcolor=active_or_not %}
    

    希望对你有帮助

    【讨论】:

    • 啊,不知道silent 标志。谢谢!
    • 在 Django 1.9(仅我测试过的版本)中,这不允许嵌套模板推进循环,只能访问当前值。
    猜你喜欢
    • 1970-01-01
    • 2018-11-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-11
    相关资源
    最近更新 更多