2011-09-06 54 views
2

嗨,我有以下db.Model的AppEngine應用程式:比較的AppEngine數據庫值在Django

class Cinema(db.Model): 
    name = db.StringProperty() 
    address = db.StringProperty() 
    distance = db.IntegerProperty() 
    user = db.ReferenceProperty(RunningUser) 

當我填寫我的模板萬物正常工作:

  {% for cinema in cinemas %} 
       <tr> 
        <td><img src="/images/cinema.png"></td> 
        <td> 
         <a href="..."> 
          <h2>{{cinema.name}}</h2> 
         </a> 
         {{cinema.address}} 
        </td> 
        <td> 
         {% if cinema.distance > 10000 %} 
          <p>red</p> 
         {% endif %} 
        </td> 
       </tr> 
      {% endfor %} 

除if語句。 Python提出了TemplateSyntaxError: 'if' statement improperly formatted exception。根據Django,它應該沒問題。那麼這三條線有什麼問題呢?

{% if cinema.distance > 10000 %} 
    <p>red</p> 
{% endif %} 
+1

確保你指的是同一版本的Django文檔的您AppEngine上使用。 – Ski

+0

感謝您的回答。版本0.96(這是appengine的標準版本)不支持更大的操作員。 –

+1

Appengine有Django 1.2。您可以使用'use_library'更改版本(http://stackoverflow.com/questions/4994913/app-engine-default-django-version-change)。雖然我個人認爲django不適合appengine。我會在Django上推薦'Kay Framework'或'Flask'。我認爲Django只是一個巨大的開銷,在使用appengine時會引起頭痛。 – Ski

回答

1

試試這個:

{% if cinema.distance > 10000 %} 
    <p>red</p> 
{% endif %} 

來自:https://docs.djangoproject.com/en/dev/ref/templates/builtins/?from=olddocs#id3

+0

我嘗試了所有與括號的變化...沒有它工作...或者我錯過了一個細節? –

+0

上面的解決方案必須工作!如果您仍然收到錯誤,則可能是您模板中的其他位置!仔細檢查所有標籤!並確認您是否關閉該塊(endif)! –

+0

我認爲問題在於我使用appengine的標準django版本(0.96)。看來這個版本不支持>操作符。 –