使用google appengine和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>
取消函数调用。我不喜欢这样,因为我必须在很多地方这样做,并且它开始变得杂乱无章。有没有办法从模板内部调用db对象的.key()方法?
答案 0 :(得分:8)
在django模板中,函数调用只是函数获取。在您的示例中,请尝试:
{{ user.avatar.key }}
我知道,这很奇怪。但是,嘿,阵列/列表更糟糕的是:
{{ user.mylist.0 }}