我有一个HTML/jinja2模板,用于以表的形式显示数据。在
表的数据可能以不同的方式提供,我希望模板能够使用if语句处理这两种类型。python中的type(x)函数在这种语言中不起作用。在
字典数组(字典列表)
数组数组(列表列表)
模板的一部分:
{% block page_content %}
<input type="text" id="search" placeholder="Type to search">
<table id="table" class="table">
<tr style="white-space:nowrap;">
{% for h in headers %}
{% if h is string %}
<th>{{h}}</th>
{% else %}
<th>{{h[1]}}</th>
{% endif %}
{% endfor %}
</tr>
{%if data is "TYPE CHECK HERE"}
{% for row in data %}
{% if row != {} %} #ALTERNATIVELY, COULD DO A TYPE CHECK HERE
<tr style="white-space:nowrap;{% if row['bad'] %}background-color:rgba(255, 0, 0, 0.09);{% endif %}">
{% for h in headers %}
<td style="white-space:nowrap;">{{ row[h[0]] }}</td>
{% endfor %}
</tr>
{% endif %}
{% endfor %}
在 {%endblock%}
TL:DR金贾二号有哪些可区分的类型?如何检查变量的类型?在
你可以看看this link,那里描述了一些有效的类型进行比较。例如,您可以check is a dict,您可以尝试:
您可以嵌套任何需要的内容,但正确的方法是将复杂的逻辑迁移到控制器。在
PD:这个例子取自here。感谢@sean vieira
- 我的名字是str
^{pr2}$在呈现jinja之前,最好在python端保留尽可能多的逻辑代码。在
将数据传输到python和数据的嵌套列表中,以便:
html格式:
^{pr2}$在学习过程中,我也尝试过类似于您的方法,但最终我发现这种方法效果最好,因为它为您的数据提供了最大的灵活性,而且在python端操作数据通常非常简单。所以不是一个真正的答案,只是一般的建议。在
相关问题 更多 >
编程相关推荐