Я пытаюсь сделать функцию поиска на моей домашней странице. Что он должен сделать, так это то, что когда пользователь нажимает кнопку «Поиск», URL-адрес должен измениться с http://127.0.0.1:8000/
на http://127.0.0.1:8000/search=xxx
и вернуть результат поиска.
В настоящее время после нажатия кнопки поиска страница вообще не меняется, и я не знаю, что пошло не так.
Я слежу за учебником из: https://www.youtube.com/watch?v=G-Rct7Na0UQ
views.py
class HomeView(ListView):
model = Item
paginate_by = 10
template_name = "home.html"
def SearchFilter(request, Item):
items = Item.objects.all()
myFilter = ItemFilter(request.GET, queryset=items)
items = myFilter.qs
context = {
'Item': items,
'myfilter': myFilter
}
return render(request, "home.html", context)
filters.py
import django_filters
from .models import *
class ItemFilter(django_filters.FilterSet):
class Meta:
model = Item
fields = {
'title': ['icontains'],
'price': ['exact', 'contains'],
'discount_price': ['exact', 'contains'],
'category': ['exact', 'contains'],
}
home. html
<form class="form-inline" method="get">
<div class="md-form my-0">
{{myFilter.form}}
<input class="form-control mr-sm-2" type="text" placeholder="Search" aria-label="Search">
<button class="btn btn-primary" type="submit">Search</button>
</div>
</form>
url.py
urlpatterns = [
path('', HomeView.as_view(), name='home')
]