我有一个带有电影数据库的 django 项目,并且希望我的搜索框能够简单地实现 typeahead.js 提供的自动完成功能。我使用它是因为它的模板功能,并且它与我用于样式设计的 Bootstrap 非常契合。
\n\nurls.py
\n\nurl(r\'^get_movie/$\', views.get_movie, name = \'get_movie\')\nRun Code Online (Sandbox Code Playgroud)\n\n视图.py
\n\ndef get_movie(request):\n results = []\n q = request.GET[\'q\']\n movies = Movie.objects.filter(title__icontains = q)\n results = [ {movie.id: movie.name} for movie in movies ]\n data = json.dumps(results)\n return HttpResponse(data, content_type = \'application/json\')\nRun Code Online (Sandbox Code Playgroud)\n\nHTML 搜索框
\n\n<input id="searchBox" type="text" class="form-control input-lg typeahead" placeholder="Search a movie..." name="q"></input>\nRun Code Online (Sandbox Code Playgroud)\n\n显然我已经包含了 jQuery、Bootstrap 和 typeahead.js。
\n\n上面是除了实现 typeahead.js 的 javascript 之外的所有必要代码
\n\n这是官方网站上的示例,但我不知道需要进行哪些修改才能从数据库动态获取结果并将其显示在自动完成列表中:
\n\n<script type="text/javascript">\n $(\'.typeahead\').typeahead(null, …Run Code Online (Sandbox Code Playgroud)