如果找不到特定主机名的django模板,则创建一个空白单元格



我正在将模型的多个输出聚合到同一个表中。因此,我正在寻找一个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 %}

最新更新