有没有人知道如何使用数据库而不是本地值在Django中实现jQuery autocomplete plugin?
具体来说,我想实现页面底部提到的“搜索页面替换”功能,数据集将有大约一千个或更多条目,但我无法锻炼如何让它与我的数据库的必要字段进行交互.
(我也在寻找一个好的Python / Django搜索解决方案,用于我的网站 – 这只是一个非常简单的网站.)
谢谢您的帮助.
最佳答案
我经常用一个模型用jQuery.autocomplete做一些事情.
用户开始写名称时搜索城市的功能:
根据jqueryui docs使自动完成工作需要输入如下:
所以,我的模板中的javascript将lib附加到此输入看起来像:
$(document).ready(function(){
$( "input#n" ).autocomplete({
source: "{% url autocomplete_city %}",minLength: 2
});
});
要解析该URL,您必须在urls.py中写下这样的内容
urlpatterns = patterns('cities.views',url(r'^autocomplete_city/$','autocomplete_city',name='autocomplete_city'),)
这意味着我有类似cities.views.autocomplete_city视图的东西:
def autocomplete_city(request):
term = request.GET.get('term') #jquery-ui.autocomplete parameter
cities = City.objects.filter(name__istartswith=term) #lookup for a city
res = []
for c in cities:
#make dict with the metadatas that jquery-ui.autocomple needs (the documentation is your friend)
dict = {'id':c.id,'label':c.__unicode__(),'value':c.__unicode__()}
res.append(dict)
return HttpResponse(simplejson.dumps(res))
你还需要什么?开始测试并记住文件是你的朋友请尝试先为自己制作东西,谷歌,阅读文档,尝试3次,如果不能,stackoverflow是你的朋友.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。