2012-05-04 40 views
-1

我正在關注谷歌應用程序引擎練習,並且無法正確渲染jinja模板。我無法使用GQL查詢渲染jinja2模板

下面的代碼做什麼,我希望它做的(它讓我從我的GQL查詢渲染值的模板:

def get(self): 
    blogpost = db.GqlQuery("SELECT * FROM BlogPosts ORDER BY created ASC") 
    self.render('blog.html',blogpost=blogpost) 

該代碼使得我的,當我使用像標籤blog.html模板{{post.subject}}

此代碼不會讓我呈現模板:

def get(self): 
    path = self.request.path[1:] 
    post = db.GqlQuery("SELECT * FROM BlogPosts WHERE ID = " + str(path)) 
    self.render('permalink.html',post=post) 
+1

'不顯示我的模板'是什麼意思?你有錯誤嗎?模板中沒有值嗎?你嘗試記錄什麼路徑?如果你得到一個實際的職位? – aschmid00

+0

@ aschmid00我沒有得到任何錯誤。我得到了模板的html,沒有填充我的查詢值{{templatevalues}}。路徑是一個int如1。我已經嘗試使用路徑作爲一個整數,並將其轉換爲一個str來查看是否會使我的gql語句工作。我不明白我是如何確定我的查詢是否在實際文章中產生的。如果你能告訴我該怎麼做,那會很有用。 – somas1

+0

使用記錄模塊。 – aschmid00

回答

1

我相信你可以通過ID這種方式無法查詢ID是實體鍵,以便組成部分:

SELECT * FROM YourModel where __key__ = KEY('YourModel', <numeric_id>) 

這應該會給你想要的結果。

+0

或者,完全避免查詢並使用'YourModel.get_by_id'。沒有理由在這裏進行查詢。 –