Как проверить, существует ли экземпляр модели в шаблоне django - PullRequest
0 голосов
/ 10 апреля 2019

У меня есть приложение django с базовой моделью (Job).Теперь в моем шаблоне я хотел бы проверить, существует ли экземпляр этой модели или нет.Я хочу проецировать текст, если пока ничего не отображается, в противном случае я бы хотел показать атрибуты модели.

Как-то так (что, очевидно, не работает):

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

{{ job.title }}

{% else %}

hola

{% endif %}

Также пробовал:

 {% for job in jobs %}

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

  {% endfor %}

Имеет смысл, что это не работает, потому что как я могу пройти через это или вернуть что-то, если этого не существует.Есть ли простой способ сделать это в шаблоне?Или я должен написать свою собственную функцию?Или какой способ это сделать?

Помощь, конечно, очень ценится

1 Ответ

0 голосов
/ 10 апреля 2019

Вы можете использовать тег {% if %}.Как говорит Django doc :

Тег {% if %} оценивает переменную, и если эта переменная имеет значение «истина» (то есть существует, не пуста и не ложналогическое значение) содержимое блока выводится.

Таким образом, вы можете сделать что-то вроде этого:

{% if job %}

{{ job.title }}

{% else %}

<p>Hi from Uruguay</p>

{% endif %}

Если вам это нужно внутри для, как сказал @dirkgroten,вам нужно использовать тег {% empty %}.В документе Django есть пример .

...