2013-03-19 53 views
12

我得到的一個問題,而在蟒蛇比較兩個字符串:Python的神社錯誤而比較字符串

這是工作:

{% for publication in publications %} 
     {{ publications[publication].pub_type }} 
{% endfor %} 

但不是這樣的:

{% for publication in publications %} 
     {% if publications[publication].pub_type equals "conference_paper" %} 
      class="active" 
     {% endif %} 
{% endfor %} 

在上面的代碼中,我只是測試一些東西,但它不起作用

我得到這個錯誤:

jinja2.exceptions.TemplateSyntaxError 
TemplateSyntaxError: expected token 'end of statement block', got 'equals' 
+1

不,如果你有一個真正的變量替換第一個 「conference_paper」 工作? – MatToufoutu 2013-03-19 11:22:53

+0

不,它不起作用 – Noor 2013-03-19 11:35:46

回答

28

也許你想:

{% if publication.pub_type == "conference_paper" %} 
{#       ^^     #} 

equalsvalid jinja2 syntax

+0

似乎不太可能,因爲如果在模板中編寫「如果爲True」(這本身就是一種非常冗長的方式,根本不寫條件),這是非常詳細的方式。 – geoffspear 2013-03-19 11:32:50

+0

我知道,我只是在測試 – Noor 2013-03-19 11:33:57

+0

@TokenMacGuy,我將代碼修改爲實際的代碼 – Noor 2013-03-19 11:35:22