Я не могу определить, является ли переменная пустой при использовании в шаблоне. Я перебрал всю коллекцию и в каждой ищу переменную narrative_text.
Я проверил пустую переменную с помощью
{% ifnotequal narratives.narrative_text '' %}
Я заметил, что элемент управления входит в этот блок, но ничего не печатает/пусто, когда
{{ narratives.narrative_text }}
встречается.
Итак, как мне точно проверить, пуста ли переменная?
Я прочитал документацию и обнаружил, что недопустимые/пустые переменные шаблона заменяются на ''.
Док говорит, что
система шаблонов вставляет значение параметра
TEMPLATE_STRING_IF_INVALID.
Должны ли мы явно вводить это в settings.py? Я пытался сделать это, но все же я не смог заставить его работать.
c=Context({
"narratives_list":all_narratives,
"patient_name":care_seeker_name
})
all_narratives возвращается вызовом базы данных pymongo.
{% for narratives in narratives_list %}
<tr>
<td class = "date_col">
7 Aug, 2012
</td>
{% ifnotequal narratives.narrative_text '' %}
<td>
<div class = "narrative">
( text narrative )
<b>
{{ narratives.about }}
</b>
<br><br>
{{ narratives.narrative_text }}
</div>
</td>
{% else %}
<td>
<div class="scans">
<div class="gallery">
<b> {{ narratives.about }}</b>
<br><br>
<a href="https://udhc1-nodejstest.rhcloud.com/my_image/{{ narratives.file_id }}">
<img src="https://udhc1-nodejstest.rhcloud.com/my_image/{{ narratives.file_id }}" width="72" height="72" alt="" />
</a>
</div>
</div>
</td>
{% endifnotequal %}
narratives_listне пусто. Если это не так, проверьте, печатается ли блокelse. Если это не так, вы знаете, что у вас есть ошибка. В противном случае вы можете проверить код (не шаблон), чтобы увидеть, что находится в этих переменных, используя оператор logging.debug(). - person Hans Then   schedule 20.09.2012