14

テンプレートで使用されている変数が空かどうかを判断できません。コレクション全体を繰り返し処理し、それぞれで variable を探しています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_narrativespymongo データベース呼び出しによって返されます。

{%  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 %}
4

6 に答える 6

40

長さをパイプし、その値に対してテストを行います。

{% if narratives.narrative_text|length > 0 %}
    {{ narratives.narrative_text }}
{% else %}
    None
{% endif %}
于 2013-06-25T21:24:37.443 に答える
7

を使うだけ{% if narratives.narrative_text %}だと思います。空の文字列、空の配列、空の辞書、、Noneなどに適用される Python の暗黙の false を使用します。False0

于 2012-09-20T06:55:37.357 に答える
4

django 2.1.3 と python 3.5 および 3.7 を使用して、次のように動作することを自分のコードで確認しました。

{% if narratives.narrative_text %}
    # do something
    {{ narratives.narrative_text }}
{% else %}
    # do something else
    None  # displays "None" 
{% endif %}
于 2018-11-06T12:51:57.157 に答える
2

You can write Custom template filter, is_empty to check. Return false if variable is empty and true if value exists.

{% if narratives.narrative_text|is_empty %}
    # dosomthing 
{% else %}
    # dosomthing 
{% endif %}
于 2012-09-20T07:13:35.677 に答える
-1

私はjijnjaを使用しましたが、これは非常に似ていてシンプルであり、そうすればうまくいくと思います

{% if not narratives.narrative_text %}
  // do something 
{% else %}
 // do something else  with or without {{ narratives.narrative_text }}
{% endif %}

True/False,None,それは仕事をするためにpython暗黙的などを使用します。最も簡単に言えば、内部でpython変数を使用し、内部{{ }}で条件などを使用します{% %}

于 2012-09-20T07:59:59.680 に答える