Python 在谷歌应用程序引擎中创建表单自动完成

Python 在谷歌应用程序引擎中创建表单自动完成,python,ajax,google-app-engine,autocomplete,Python,Ajax,Google App Engine,Autocomplete,我想建立一个自动完成功能的标签字段,如在应用程序引擎等。。。你知道我该怎么做吗 服务器端算法自动完成应该有什么逻辑 应用程序引擎实现?-对此,数据存储架构应该是什么 您的问题更多的是关于javascript(客户端)而不是GAE(服务器端) 你应该从这样的事情开始。如果标记的数量很少,您可以将数据嵌入html中,否则请查看使用AJAX调用的示例 如果你使用AJAX,那么你需要在服务器端做一些事情——你所要做的就是建立一些URL,它接受查询并返回JSON格式的数据。我喜欢在GAE上使用,这很好。嘿

我想建立一个自动完成功能的标签字段,如在应用程序引擎等。。。你知道我该怎么做吗

服务器端算法自动完成应该有什么逻辑


应用程序引擎实现?-对此,数据存储架构应该是什么

您的问题更多的是关于javascript(客户端)而不是GAE(服务器端)

你应该从这样的事情开始。如果标记的数量很少,您可以将数据嵌入html中,否则请查看使用AJAX调用的示例


如果你使用AJAX,那么你需要在服务器端做一些事情——你所要做的就是建立一些URL,它接受查询并返回JSON格式的数据。我喜欢在GAE上使用,这很好。

嘿。我几天前提出了这个问题。只要您有一个要搜索的StringProperty字段,数据存储模式实际上并不重要。由于AppEngine还不支持全文搜索,所以您必须使用某种“从开始”搜索,这不是100%,但对于查找标签来说还可以

在谷歌代码博客上有一个关于如何在GAE上实现基本搜索的讨论,该博客是为谷歌I/O 2010而做的。代码是用Java编写的,但原理相同:


至于逻辑,这完全取决于你。我看到的系统在每次按键时都使用“Start with”查询,其他系统则使用LIKE查询。但是GAE的局限性不允许类似的查询。此线程中的更多讨论:

刚刚发布了关于使用GAE和实现自动完成的两部分系列文章

特别是,对类似于SO YUI3 autocomplete插件的标记使用autocomplete,提供了选项
queryDelimiter
,允许您在选择要匹配的字符串之前定义分隔符。因此,如果设置为空格,则插件将匹配文本框中键入的每个新词:

YUI().use('autocomplete', function (Y) {

      Y.one('body').addClass('yui3-skin-sam');

      // AutoComplete on search input field
      Y.one('#search_field').plug(Y.Plugin.AutoComplete, {
        queryDelimiter: ' ',
        source: '/rpc.xhr?action=ac_keywords&arg0={query}'
      }); 
});

动作
ac_关键字
(在GAE中定义)查找以键入字符串开头的列表标记。

你好,保罗,考虑到我的代码上下文,我问了一个类似的问题。如果你能看一看,我会非常感激: