Я занимаюсь разработкой приложения в Django.
У меня есть содержимое базы данных, отображаемое в моем шаблоне glossario.html объявление Я хочу реализовать панель поиска для запроса базы данных и отображениятолько результаты запроса.
Поэтому я настроил панель инструментов в glossario.html
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
<div class="topnav">
<a id="pulsante_ricerca_avanzata" href="#Ricerca_avanzata">Ricerca avanzata</a>
<div id="blocco_ricerca_semplice" class="search-container">
<form method="GET" action="{% url 'glossario' %}">
<input type="text" placeholder="Ricerca terminologia..." name="q" value="{{request.GET.q}}">
<button id="cancel_search_button" type=""><i class="fa fa-trash"></i></button>
<button id="search_button" type="submit"><i class="fa fa-search"></i></button>
</form>
</div>
</div>
В views.py подготовилфункция для отображения только результатов запроса:
def vista_ricerca_semplice(request):
template = "glossario.html"
query = request.GET.get('q')
selected_entries = glossary_entry.objects.filter(Q(Lemma_it__icontains=query))
context = {'selected_entries':selected_entries}
return render(request, template, context)
Примечание:
Lemma_it - это поле моей модели, которое я хочу найти, и glossary_entry - это название моей модели.
Честно говоря, я ищу команду для выполнения запроса по всем полям модели без ввода
selected_entries = glossary_entry.objects.filter(Q(Lemma_it__icontains=query) | Q(field2__icontains=query) | Q(field3__icontains=query) ...)
In app / urls.py Я сопоставил URL результатов поиска:
from django.urls import path
from . import views
from .views import vista_ricerca_semplice
urlpatterns=[
path('', views.home, name='home'),
path('glossario', views.glossario, name="glossario"),
path('glossario', views.vista_ricerca_semplice, name="vista_ricerca_semplice"),
]
Но это просто не работает.Если, например, я ввожу «попытку1», консоль возвращает
[19 / Sep / 2019 18:08:00] «GET / glossario? Q = попытки1 HTTP / 1.1» 200 126941
И обновляет страницу, но нет запроса.Вид не меняется.В чем здесь ошибка?