如何检查Django模板中是否存在模型实例

时间:2019-04-10 17:17:05

标签: python django django-templates exists

我有一个具有基本模型(Job)的django应用。现在在我的模板中,我想检查该模型的实例是否存在。如果没有要显示的内容,我想投射文本,否则我想显示模型属性。

以某种方式(显然不起作用):

{% if job.title != "" %}

{{ job.title }}

{% else %}

hola

{% endif %}

也尝试过:

 {% for job in jobs %}

      {% if job.title %}
      {{ job.title }}
      {% else %}
      Hola
      {% endif %}

  {% endfor %}

这是行不通的,因为我该如何遍历它或返回不存在的内容。有没有简单的方法甚至可以在模板中做到这一点?还是我必须编写自己的函数?还是有什么方法可以做到这一点?

当然非常感谢帮助

1 个答案:

答案 0 :(得分:0)

您可以使用{% if %}标签。为Django doc says

  

{% if %}标记会评估一个变量,如果该变量为“ true”(即存在,不为空且不是布尔值),则将输出该块的内容。

因此您可以执行以下操作:

{% if job %}

{{ job.title }}

{% else %}

<p>Hi from Uruguay</p>

{% endif %}

如@dirkgroten所述,如果需要在for中使用此标记,则需要使用{% empty %}标记。 Django文档中有an example