我有一个 CSS 文件,其中定义了我的一些样式:

.class-a{
    /*some styles*/
}
.class-b{
    /*some styles*/
}
.class-c{
    /*some styles*/
}
.class-d{
    /*some styles*/
}

这些样式必须应用于 django for-loop 的输出。

for循环:
{% for result in results %}
    <span class="[something]" > {{result}} </span> <br>
{% endfor %}

我如何修改这个循环,class="[something]" 部分,以便输出看起来像这样,按顺序或乱序:
<span class="class-a"> result </span>
<span class="class-b"> result </span>
<span class="class-c"> result </span>

我应该在上下文中这样做吗:
results = {
    ResultOne : {
            'name' : 'someName',
            'class' : 'class-a'

    },
    ResultTwo : {
            'name' : 'someName',
            'class' : 'class-b'

    },
}

所以每个 {{ result }} 都有类似 {{result.class}} 和 {{ result.name}} 的东西?

或者是否存在其他方法?
实现它的最佳方法是什么?
谢谢。

最佳答案

您可以使用 cycle template tag :

{% for result in results %}
    <span class="{% cycle "class-a" "class-b" "class-c" "class-d"%}" > {{result}} </span> <br>
{% endfor %}

关于python - 如何动态地将 html 类添加到 Django 模板 'for-loop'?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31263328/

10-16 11:15