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中定义)查找以键入字符串开头的列表标记。你好,保罗,考虑到我的代码上下文,我问了一个类似的问题。如果你能看一看,我会非常感激: