小编Sam*_*ley的帖子

在 Django 项目中使用 typeahead.js

我有一个带有电影数据库的 django 项目,并且希望我的搜索框能够简单地实现 typeahead.js 提供的自动完成功能。我使用它是因为它的模板功能,并且它与我用于样式设计的 Bootstrap 非常契合。

\n\n

urls.py

\n\n
url(r\'^get_movie/$\', views.get_movie, name = \'get_movie\')\n
Run Code Online (Sandbox Code Playgroud)\n\n

视图.py

\n\n
def 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\')\n
Run Code Online (Sandbox Code Playgroud)\n\n

HTML 搜索框

\n\n
<input id="searchBox" type="text" class="form-control input-lg typeahead" placeholder="Search a movie..." name="q"></input>\n
Run 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)

javascript django jquery twitter-bootstrap typeahead.js

5
推荐指数
1
解决办法
1759
查看次数