我可以评估 django 模板中的表达式吗?

Posted

技术标签:

【中文标题】我可以评估 django 模板中的表达式吗?【英文标题】:Can I evaluate expressions in a django template? 【发布时间】:2012-03-30 17:18:46 【问题描述】:

我正在尝试以交替颜色显示表格行。为此,我有两个 CSS 类 row1 和 row2,我想以交替模式将它们分配给表的行。理想情况下,我会根据 forloop.counter 变量确定该行是奇数还是偶数

这就是我希望模板执行的操作(无效代码,但我认为这是自我解释)。

% for norma in normas %
% if forloop.counter %2 != 0 %
<tr class="row1">
% else %
<tr class="row2">
% endif %
    <td>yadda... yadda</td>
    .
    .
    .
% endfor %

有没有办法在 django 模板系统中做到这一点?

【问题讨论】:

这里是您的问题的解决方案,这篇文章深入解释了如何获得交替行颜色***.com/questions/459161/… 【参考方案1】:

使用cycle - 这个例子显示了这个确切的目的

【讨论】:

谢谢,这解决了我的特殊问题。有没有办法评估表达式?【参考方案2】:

只需在您的 %for% 循环中使用:

<tr class="% cycle 'row1' 'row2' %>

django Templete 将循环遍历每一行。您可以在循环中添加任意数量的项目。

【讨论】:

【参考方案3】:

下面的帖子解释了如何在 Django 中获得交替的行颜色。

Alternate Row Coloring in Django Template with More Than One Set of Rows

【讨论】:

以上是关于我可以评估 django 模板中的表达式吗?的主要内容,如果未能解决你的问题,请参考以下文章

Eclipse 可以动态评估表达式吗?

相当于使用if .. else作为Django模板语言中的表达式

我可以在保留 lambda 表达式的同时删除双重评估吗

无法评估表达式

Spring Security - Thymeleaf - 我可以在 sec:authorize 标签中评估 SPEL 表达式吗?

Thymeleaf 模板无法评估与模型相关的表达式