Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/343.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何将html类添加到Django模板&x27;对于循环';动态的?_Python_Css_Django_Django Templates - Fatal编程技术网

Python 如何将html类添加到Django模板&x27;对于循环';动态的?

Python 如何将html类添加到Django模板&x27;对于循环';动态的?,python,css,django,django-templates,Python,Css,Django,Django Templates,我有一个CSS文件,其中定义了我的一些样式: .class-a{ /*一些风格*/ } .乙级{ /*一些风格*/ } .c类{ /*一些风格*/ } d级{ /*一些风格*/ } 这些样式必须应用于djangofor循环的输出 for循环: {% for result in results %} <span class="[something]" > {{result}} </span> <br> {% endfor %} 我是否应该这样做: r

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

.class-a{
/*一些风格*/
}
.乙级{
/*一些风格*/
}
.c类{
/*一些风格*/
}
d级{
/*一些风格*/
}
这些样式必须应用于django
for循环的输出

for循环:

{% for result in results %}
    <span class="[something]" > {{result}} </span> <br>
{% endfor %}
我是否应该这样做:

results = {
    ResultOne : {
            'name' : 'someName',
            'class' : 'class-a'

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

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

还是有其他方法? 实现这一目标的最佳方式是什么? 谢谢。

最小化模板中的逻辑 我认为你建议的是方法,即在数据进入模板之前对其进行预处理

使用Django模板,复杂的逻辑将很快变得不可维护和不可读

不要混合使用Python和HTML 像Python代码中的CSS类那样使用
class
不是很好,所以可以在您的模型域中调用它,例如

results = [
    {
            'name' : 'some_name_1',
            'result_type' : 'a'

    },
    {
            'name' : 'some_name_2',
            'result_type' : 'b'

    },
]
并使HTML/CSS只使用该
结果类型
解析CSS名称,因此:

<span class="class-{{result.result_type}}"> {{result.name}} </span>
{{result.name}
您可以使用:

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