确定Django中的空模板变量

sbo*_*ose 12 python django django-templates mongodb pymongo

在模板中使用时,我无法确定变量是否为空.我已经遍历整个集合,每一个我都在寻找一个变量narrative_text.

我测试了空变量

{% ifnotequal narratives.narrative_text '' %}
Run Code Online (Sandbox Code Playgroud)

我注意到控件进入此块,但是当打印时没有打印/空白

{{  narratives.narrative_text }} 
Run Code Online (Sandbox Code Playgroud)

遇到了.

那么,如何精确检查变量是否为空?

我阅读了文档,发现无效/空模板变量被替换为''.

医生说

模板系统插入TEMPLATE_STRING_IF_INVALID设置的值.

我们是否必须明确地将其输入settings.py?我试过这样做,但我仍然没能使它工作.

c=Context({ 
    "narratives_list":all_narratives,
    "patient_name":care_seeker_name
})
Run Code Online (Sandbox Code Playgroud)

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 %}
Run Code Online (Sandbox Code Playgroud)

Wad*_*ams 31

通过长度管道并根据该值进行测试.

{% if narratives.narrative_text|length > 0 %}
    {{ narratives.narrative_text }}
{% else %}
    None
{% endif %}
Run Code Online (Sandbox Code Playgroud)


Tor*_*cht 5

{% if narratives.narrative_text %}我想就是用吧。它将使用Python的隐式假的,这适用于空字符串,空数组,空类型的字典,NoneFalse0等。