Typehead.js для получения обновленного списка данных из базы данных в python django
file.js
var source = new Bloodhound({
hint: false,
datumTokenizer: Bloodhound.tokenizers.obj.whitespace("description"),
queryTokenizer: Bloodhound.tokenizers.whitespace,
// /a_c/p_s/?term=d&category=all
remote: "/a_c/p_s/" + "?term=mobile&category=store",
});
source.initialize();
$("#search-bar").typeahead(null, {
name: "suggestion",
displayKey: "search_text",
source: source.ttAdapter(),
});
});
urls.py
path('a_c/p_s/<term>/<category>', views.product_search,name='product_search'),
views.py
def product_search(request, term, category):
pass
У меня есть выпадающий список категорий и поле ввода для текста поиска. Мне нужно получить список предложений из базы данных на основе измененного значения выпадающей категории и ввести значение текста поиска. Я использую typeahead. Я не знаю, правильно ли я делаю это или нет с typehead bloodhound. Пожалуйста, если кто-нибудь может помочь мне с этим.
Я получаю ошибку URL not found в консоли.
file.js
var source = new Bloodhound({
hint: false,
datumTokenizer: Bloodhound.tokenizers.obj.whitespace("description"),
queryTokenizer: Bloodhound.tokenizers.whitespace,
// /a_c/p_s/?term=d&category=all
remote:
"/a_c/p_s/?term=" +
$("#search-bar").val() +
"&category=" +
$(".serach_category").val(),
});
source.initialize();
$("#search-bar").typeahead(null, {
name: "suggestion",
displayKey: "search_text",
source: source.ttAdapter(),
});
urls.py
path('a_c/p_s/', views.product_search,name='product_search'),
views.py
def product_search(request):
"""
autocomplete feature
"""
try:
search_key = request.GET.get('term', '').lower().split(" ")
print("search_key", search_key)
request.session["serach_category"] = request.GET.get('category', '').title()
except Exception as e:
вот что я делаю сейчас. но все еще не могу сказать, правильный ли это способ или нет. не стесняйтесь подсказать, если я делаю что-то не так.