2012-11-20 19 views
1

我正在完成一個項目,並且我在Google應用引擎中使用python遇到了一個問題。 我有一個應用程序,保持筆記條目。我想能夠搜索這些條目,我使用這個鏈接:Python Google App Engine:如何將SearchResults數據移動到我的模板

https://developers.google.com/appengine/docs/python/search/overview

我能夠保存文檔,搜索它們,刪除它們,等一切工作,但我可以」沒有看到關於如何將SearchResults解析爲模板的任何信息。

任何幫助將非常感激。 謝謝!

+1

0%接受嗎?在任何人會幫助你之前將其分類。 –

+0

我甚至不確定這意味着什麼。我在這裏回答了問題。 此外,將某人推出社區是繼續社區的糟糕方式。也許別人的肩膀上會少一些,並回答,如果你想指出我的方向,那將非常感激。如果你只是想看看屏幕上的數字並作出判斷,那麼我相信你可以找到更好的事情去做。 – Andy

+0

我同意,不參與會傷害社區。我已經點擊了答案,我認爲這就是它的全部。我會尋找如何「接受」並回答並從此開始做這件事。對不起,我的沮喪。 – Andy

回答

3

最簡單的方法是使用實​​體鍵作爲搜索文檔的鍵。

doc = search.Document(doc_id=<entity_key_as_string>, fields=fields) 

然後進行搜索查詢,並且只返回實體按鍵:

options = search.QueryOptions(ids_only=True) 
query = search.Query(query_string=query_string, options=options) 

,然後獲得從數據存儲實體和呈現模板。

+0

好的,這是有道理的。當我回到代碼的那一部分時,我會給出一個答案。 非常感謝您的幫助。 – Andy

+0

爲我工作。再次感謝。 – Andy

1

除非我誤解,否則您是否將數據存儲實體與您的搜索文檔關聯起來似乎是正交的(儘管這樣做通常很有用)。您不需要實體來呈現模板中的文檔信息。

您可以訪問該文檔領域中的模板沿着這些線路:

{% for field in doc.fields %} 
     {{field.name}}&nbsp;{{field.value}} <br/> 
    {% endfor %} 

或者與Jinja2的,獲取特定字段的值是這樣的:

{{doc.field("yourfieldname").value}} 
+0

所以你可以按名稱訪問文檔字段?不知道。有記錄嗎? – aschmid00

+0

最近添加了Document的'field'方法,看起來它還沒有正確記錄。我們將爲下一個版本解決該問題。 –

+0

好的功能...錯過了那一個。謝謝 – aschmid00

相關問題