2014-06-17 76 views
0

在Jinja2的模板重複的屬性我是相當新的GAE(在python),並不太能弄清楚如何從文檔做到這一點或谷歌搜索:訪問GAE上

我試圖訪問jinja模板中的重複字符串屬性中的第一個值。

我使用的是從webapp2_extras.appengine.auth.models.User谷歌的用戶類創建的,像這樣:

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存儲在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 %} 

它適用於內容,但不是用戶名,我試過幾種不同的選擇,任何指針都會非常有用!

+0

這似乎與重複的屬性沒有任何關係。內容和作者都不重複,但作者是一個關鍵,它實際上是對不同模型的引用。 –

+0

你是對的!我無法弄清楚如何改變標題... :( – Aaron

回答

0

啊哈!

我發現,你可以爲了增加「得到」到模板來訪問屬性:

我添加了一個用戶名屬性模型:

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

然後通過訪問它獲取':

{{ post.author.get.username }} 

很簡單,當你知道如何! ;)