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
Tengo un menú desplegable de categorías y un campo de entrada para el texto de búsqueda. Tengo que obtener la lista de sugerencias de la base de datos en función del valor modificado del menú desplegable de categorías e ingresar el valor del texto de búsqueda que estoy usando escribiendo anticipadamente. No sé si lo estoy haciendo bien o no con el sabueso tipográfico. Por favor, si alguien pudiera ayudarme con eso.
Recibo un error de URL not found
en la consola.
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:
esto es lo que estoy haciendo ahora. pero todavía no puedo decir si es la forma correcta de hacerlo o no. no dude en sugerir si estoy haciendo algo mal en él.