使用 Google App Engine 和 Django。
每当我在模型中有一个 db.ReferenceProperty()
时:
class User( db.Model ) :
name = db.StringProperty()
avatar = db.ReferenceProperty( dbImage )
所以当发布用户页面时,在 Django 模板中我不能这样做:
<div>
<span>{{ user.name }}</span>
<span>{{ user.avatar.key() }}</span>
</div>
我现在正在做的是在数据输出到模板之前编写一些 Python 代码,如下所示:
user.avatarsKey = user.avatar.key()
然后
<div>
<span>{{ user.name }}</span>
<span>{{ user.avatarsKey }}</span>
</div>
消除函数调用。不过我不喜欢这样,因为我必须在很多地方这样做,而且它开始变得困惑。有没有办法从模板内部调用数据库对象的 .key()
方法?
最佳答案
在django模板中,函数调用就是函数获取。在你的例子中,尝试:
{{ user.avatar.key }}
我知道,这很奇怪。但是,嘿,数组/列表更糟:
{{ user.mylist.0 }}
关于Django模板调用函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2039422/