我正在完成一个项目,但在谷歌应用引擎上使用 python 时遇到了障碍。我有一个保存笔记条目的应用程序。我希望能够搜索这些条目,并且我正在使用此链接:
https://developers.google.com/appengine/docs/python/search/overview
我能够保存文档、搜索它们、删除它们等。一切正常,但我看不到有关如何将 SearchResults 解析为模板的任何信息。
任何帮助将不胜感激。谢谢!
我正在完成一个项目,但在谷歌应用引擎上使用 python 时遇到了障碍。我有一个保存笔记条目的应用程序。我希望能够搜索这些条目,并且我正在使用此链接:
https://developers.google.com/appengine/docs/python/search/overview
我能够保存文档、搜索它们、删除它们等。一切正常,但我看不到有关如何将 SearchResults 解析为模板的任何信息。
任何帮助将不胜感激。谢谢!
最简单的方法是使用实体键作为搜索文档的键。
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)
然后从数据存储中获取实体并渲染模板。
除非我有误解,否则您是否将数据存储实体与搜索文档相关联似乎是正交的(尽管这通常很有用)。您不需要实体来呈现模板中的文档信息。
您可以按照以下方式访问模板中的文档字段:
{% for field in doc.fields %}
{{field.name}} {{field.value}} <br/>
{% endfor %}
或者使用 jinja2,获取一个特定的字段值,如下所示:
{{doc.field("yourfieldname").value}}