2012-06-26 49 views
0
{{ is_true }} 

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

而是將其去else條款即使{{ is_true }}返回真Django的模板字符串比較失敗

任何想法?

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

回答

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的模板語言在documentation

+1

感謝更多信息。現在它可以工作。 – User007

+1

沒問題,很高興我幫助 –

+0

CHecked!謝謝。 – User007