django模板调用函数

时间:2010-01-11 01:26:47

标签: django google-app-engine templates

使用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()方法?

1 个答案:

答案 0 :(得分:8)

在django模板中,函数调用只是函数获取。在您的示例中,请尝试:

{{ user.avatar.key }}

我知道,这很奇怪。但是,嘿,阵列/列表更糟糕的是:

{{ user.mylist.0 }}