2011-05-19 50 views
2

我有一個使用Django模板的谷歌應用程序引擎應用程序。我試圖做到這一點:GAE/Django TemplateError

{% if person.age >= 4 %} 
     <p style="color:White">Hello</p> 
{% else %} 
     <p style="color:Black">Hello</p> 
{% endif %} 

這是不行的,我得到:「TemplateSyntaxError:‘如果’語句格式不正確」。同時(因爲一些值是沒有的)這樣做的工作:

{% if person.age %} 
     <p style="color:White">Hello</p> 
{% else %} 
     <p style="color:Black">Hello</p> 
{% endif %} 

我不明白爲什麼第一個例子不工作,這裏是鏈接到Django Templates我想我下面的操作實例比事實足夠接近其他這是一個屬性,而不是變量

回答

2

您使用的是什麼Django版本?

App Engine上的默認版本是0.96,直到1.2版本才支持>=運算符。

您可以通過添加這上面有沒有任何模板相關進口切換到1.2:

import os 
os.environ['DJANGO_SETTINGS_MODULE'] = 'settings' 

from google.appengine.dist import use_library 
use_library('django', '1.2') 
+0

我想在技術上我使用谷歌的Web應用框架,該框架,按照我的理解,使用Django模板。我在各地使用Django模板,它們工作正常。這是我使用操作員的第一個地方。你的靈魂添加庫導入得到它。謝謝。 – Doug 2011-05-19 23:44:22

2

做,如果person.age和person.age> = 4

這樣,如果person.age是無,它會失敗的第一次檢查,而不是拋出語法錯誤在第二個。

0

正如你所說,因爲有些值沒有,它會拋出語法錯誤。更好的是,你可以檢查person.age的存在,然後做這樣的檢查。

{% if person.age and person.age >= 4 %} 
     <p style="color:White">Hello</p> 
{% else %} 
     <p style="color:Black">Hello</p> 
{% endif %} 
相關問題