我试图复制这个Typeahead远程示例的功能,但我不知道如何以Typeahead/Bloodhound想要的方式提供数据,也不知道datumTokenizer
或queryTokenizer
是什么。
在Python/Django views.py中我有:
nouns = ['apple', 'banana', 'pear']
return JsonResponse({'results': nouns})
到达站点如下:
{"results": ["apple", "banana", "pear"]}
然而对于'kings',示例返回:
[{"year": "1949","value":"All the Kings Men","tokens":["All","the","Kings","Men"]}]
我们需要以这种格式返回吗?如果有,怎么做?我们怎样才能简单地复制这个例子呢?
算出:实际使用return HttpResponse(nouns)
,或return JsonResponse(nouns, safe=False)
。
如果考虑到安全性,将其作为字典发送:
noun_dicts = [{'suggestion':x} for x in nouns]
return JsonResponse({'results':noun_dicts})
然后在JS中解析字典