使用 Django 为 Typeahead / Bloodhound 提供远程 JSON 数据 / Python

Supplying remote JSON data for Typeahead / Bloodhound with Django / Python

我正在尝试复制 this Typeahead remote example 的功能,但我不知道如何以 Typeahead / Bloodhound 想要的方式提供数据,也不知道 datumTokenizerqueryTokenizer 用于.

在 Python / Django views.py 我有:

nouns = ['apple', 'banana', 'pear']
return JsonResponse({'results': nouns})

访问站点为:

{"results": ["apple", "banana", "pear"]}

for 'kings' the example returns:

[{"year": "1949","value":"All the Kings Men","tokens":["All","the","Kings","Men"]}]

我们需要return这种格式吗?如果是这样,如何?我们如何简单复制该示例?

想通了:实用return HttpResponse(nouns),或者return JsonResponse(nouns, safe=False)

如果担心安全问题,请将其作为字典发送:

noun_dicts = [{'suggestion':x} for x in nouns]
return JsonResponse({'results':noun_dicts})

然后在JS中解析dict