0
{{ is_true }}

{% if is_true == "True" %}
    <h2>Say True</h2>
{% else %}
    <h2> False </h2>
{% endif %}

しかし、代わりにTrueを返しelseても句に行きました{{ is_true }}

何か案が?

def some_func():
   if ....:
     return True
   else:
     return False
4

1 に答える 1

4

"True"テンプレートで使用する必要はありません:

{% if is_true == True %}

あるいは単に:

{% if is_true %}

テンプレートで使用すると、ブール値と文字列 (同じではない) を"True"比較し、テンプレートの句になります。つまり、次のことを行います。True"True"else

{% if True == "True" %}
    <h2>Say True</h2>
{% else %}                     # You will end up here
    <h2> False </h2>
{% endif %}

Django のテンプレート言語の詳細については、ドキュメントを参照してください。

于 2012-06-26T20:34:56.703 に答える