Python Google App Engine:如何将SearchResults数据移动到我的模板中

时间:2012-11-20 21:49:16

标签: python google-app-engine

我正在完成一个项目,我在谷歌应用引擎上使用python遇到了麻烦。 我有一个应用程序,可以记录条目。我希望能够搜索这些条目,我正在使用此链接:

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

我可以保存文档,搜索它们,删除它们等等。一切正常,但我看不到有关如何将SearchResults解析为模板的任何信息。

任何帮助都会非常感激。 谢谢!

2 个答案:

答案 0 :(得分: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)

然后从数据存储中获取实体并渲染模板。

答案 1 :(得分:1)

除非我误解,否则您是否正在将数据存储区实体与搜索文档相关联(尽管这通常很有用)。您不需要实体在模板中呈现文档信息。

您可以按以下方式访问模板中的文档字段:

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

或者使用jinja2,获取如下特定字段值:

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