我正在将模型的多个输出聚合到同一个表中。因此,我正在寻找一个hostname_id,它将模型连接在一起,然后显示输出。问题是可能没有数据显示,这会打乱表格的对齐方式,所以我需要创建空白单元格。
{% for y in cpuAverageReport %}
{% if x.id == y.hostName_id %}
<td>{{ y.average | floatformat:0}}%</td>
<td>{{ y.maximum | floatformat:0}}%</td>
{% endif %}
{% endfor %}
因此,如果在循环结束时,if参数从未匹配,我想创建两个空白单元格。当if参数匹配时,我尝试使用{%withvar="something"%}来标记,但{%endwith%}标记必须在endif标记之前,这使它变得无用。。。
我想弄清楚视图中是否有匹配项,然后将其传递给模板。根据我所读到的内容,模板不应该处理这样的东西,它应该在视图中
我查看了模板标签,但最终它与在视图中找出它并将其传递给模板没有太大区别
和你一样,我也研究过使用with
,但不幸的是,这是不可行的,因为你无法更改with
的值:(bummer!
最后,你可以做一个JavaScriptonload
:check if table has rows, if not: create one
,这在风格上是不确定的,但它会起作用。
您能不能在{% if %}
语句的末尾添加一个带有空单元格的{% else %}
?
{% for y in cpuAverageReport %}
{% if x.id == y.hostName_id %}
<td>{{ y.average | floatformat:0}}%</td>
<td>{{ y.maximum | floatformat:0}}%</td>
{% else %}
<td></td>
<td></td>
{% endif %}
{% endfor %}