不使用数据库的巨大远程源到jquery自动完成

时间:2012-11-12 15:39:06

标签: django web-applications jquery-autocomplete

我正在使用Django的网络应用程序,它可以让用户讲述自己喜欢的电影。对于输入,我想为用户提供启用了自动完成功能的文本框。

  • 所有电影的列表都非常大(18 MB),因此必须使用远程源启用自动完成功能。
  • 要添加到此,我有一个不能使用数据库的约束。 (因为我的应用程序托管在heroku上并将这些数据存储在数据库中会花费很多)

现在,我有一个存储在.py文件中的所有电影的列表,我将它导入到我的views.py中。处理来自自动完成的ajax请求的视图迭代此列表中的每个影片,以根据查询字词进行过滤并返回已过滤的列表。

-movies.py

all_movies = [list of all movies' titles]  # > 1M string elements

-views.py(每当用户更改Web应用程序文本框中的输入时,都会调用handle_autocomplete())

import movies
def handle_autocomplete(request):
     data = request.GET['term']
     my_list = [title for title in movies.all_movies if data in title]
     return HttpResponse(simplejson.dumps(my_list))

这种方法的缺点是什么?如何改进? 是否有任何库/ django应用程序处理远程源自动完成?

0 个答案:

没有答案