Google App Engine'de (Python'da) Django şablonlarını kullanarak, bir şablon değişkenini {% if %}
bloğundaki bir tamsayı ile karşılaştırmak mümkün mü?Şablon değişkenini Django/App Engine şablonlarında bir tam sayı ile karşılaştırabilir miyim?
views.py:
class MyHandler(webapp.RequestHandler):
def get(self):
foo_list = db.GqlQuery(...)
...
template_values['foos'] = foo_list
template_values['foo_count'] = len(foo_list)
handler.response.out.write(template.render(...))
Benim şablonu:
{% if foo_count == 1 %}
There is one foo.
{% endif %}
Bu 'if' statement improperly formatted
ile havaya uçuruyor.
Ne Şablonumdaki yapmak için uğraş/elif/else ağaç Django şablon belgelerini tarama
#foo_count == 0:
There are no foos.
#foo_count == 1:
There is one foo.
#else:
There are {{ foos|length }} foos.
devlet edebilmek için dilbilgisi açısından doğru olmasını ise basit inşa idi (this linkin the GAE documentation görünüyor sağlanan Django sürümleri, GAE'de desteklenenden çok daha yeni olabilir), aslında yalnızca boole işleçlerini kullanabiliyormuşum gibi görünüyor (aslında boole operatörleri Django'nun bu eski sürümünde destekleniyorsa) dizeleri veya diğer şablon değişkenleri ile.
Django şablonlarıyla değişkenleri tamsayılara veya dizeleri karşılaştırmak mümkün mü?
Geçici çözüm için kolay bir yol olduğundan eminim - şablon içinde değil de Python tarafında ileti dizesini oluşturuyor - ancak bu, şablonda işlenebilmesi gereken basit bir işlem gibi görünüyor .
Daha gelişmiş bir şablonlama motoruna geçmem gerekiyormuş gibi geliyor, fakat Django'ya (şablonlar veya herhangi bir parçası) yeni olduğum için, önce bir onay isterim.
Webapp şablon sistemi Django 0.96'dan gelir; belgeler http://www.djangoproject.com/documentation/0.96/ Django'nun daha yeni sürümleri App Engine'de bulunabilir, ancak tüm django çerçevesinden ziyade webapp kullanırken yüklenenlerin yüklenmesi zor olabilir. – geoffspear