我正在使用Django的网络应用程序,它可以让用户讲述自己喜欢的电影。对于输入,我想为用户提供启用了自动完成功能的文本框。
现在,我有一个存储在.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应用程序处理远程源自动完成?