在GAE上访问jinja2模板中的重复属性

时间:2014-06-17 09:18:40

标签: python google-app-engine

我是GAE的新手(在python中)并且无法通过文档或谷歌搜索找出如何做到这一点:

我试图访问jinja模板中重复字符串属性中的第一个值。

我正在使用Google提供的webapp2_extras.appengine.auth.models.User中的Google用户类:

user_data = self.user_model.create_user(user_name,
        unique_properties,
        email_address=email, name=name, password_raw=password,
        last_name=last_name, verified=False)

从源头上我可以看出,似乎user_name存储在google实现中的auth_ids [0]中。

在模板中,我想在帖子中显示用户名密钥属性的用户名:

class Post(ndb.Model):

    content = ndb.StringProperty()
    author = ndb.KeyProperty(kind=User)

我试图在模板中执行此操作:

{% for post in posts %}
<div class='post'>
{{ post.content }} <br />
{{ post.author.auth_ids[0] }}
</div>
{% endfor %}

它适用于内容,但不适用于用户名,我尝试了几种不同的选择,任何指针都非常有用!

1 个答案:

答案 0 :(得分:0)

啊哈!

我发现你可以添加&#39; get&#39;进入模板以访问属性:

我在模型中添加了一个用户名属性:

@property
def username(self):
    return self.auth_ids[0]

然后通过&#39; get&#39;:

访问它
{{ post.author.get.username }}

当你知道如何时这么简单! ;)