【发布时间】:2018-09-05 08:37:39
【问题描述】:
我无法让我的 autocomplete 框显示结果。我不确定我是否没有从 Django 导入我需要的东西。任何帮助是极大的赞赏。谢谢!
views.py
def contact_name_search(request):
if request.is_ajax():
q = request.GET.get('term','')
names = PhoneBook.objects.filter(first_name__istartswith=q)
result = []
for n in names:
name_json = n.full_name
result.append(name_json)
data = json.dumps(result)
mimetype = 'application/json'
return HttpResponse(data, mimetype)
urls.py
path('contact-name-search/', views.contact_name_search, name='contact-name-search'),
main.html
<div>
<input type="text" id="contact_name_search_input" name="contact_name_search" />
</div>
<script>
$(function() {
$("#contact_name_search_input").autocomplete({
source: "{% url 'contact-name-search' %}",
minLength: 1,
delay: 200,
});
});
</script>
【问题讨论】:
-
将
name="contact_name_search"更改为name="term" -
你的视图真的被调用了吗?尝试从视图内部打印
q以检查。 -
我尝试更改名称;还是不行。我还尝试打印
q,它没有显示任何内容。我不认为它正在发送信息。我有另一个有效的 AJAX 搜索,当我输入一个字母时,它会显示在终端中。当我在这个中输入一个字母时,它不会显示在终端中。
标签: jquery django python-3.x