我通过查询与评论,我的模板:GAE/Django的模板(0.96)过滤器,以获取长度GqlQuery和过滤它
COMM = CommentModel.gql("ORDER BY created")
doRender(self,CP.template,{'CP':CP,'COMM':COMM, 'authorize':authorize()})
我想输出的评价结果的数量,我尝试做这样的事情:
<a href="...">{{ COMM|length }} comments</a>
这是行不通的(是的,因为COMM是GqlQuery,而不是一个列表)。我该怎么办?有没有办法将GqlQuery转换为列表或有其他解决方案? (第一个问题)[1]
第二个问题[2]是,如何在模板中过滤这个列表?有没有这样的结构:
<a href="...">{{ COMM|where(reference=smth)|length }} comments</a>
,这样我不仅可以得到的所有评论的数量,但只有某些db.ReferenceProperty()属性注释,例如:。
最后一个问题[3]:使用模板做这样的事情很奇怪吗?
UPD:感谢尼克约翰逊和Alex Martelli,问题[1]和[3]对我来说非常清楚。
问题[2]很棘手,也许与MVC的想法背道而驰,但我真的希望仅用模板解决它:(有一些原因)。它可能像它变得丑陋一样。