django невозможно показать результат поиска - PullRequest
0 голосов
/ 09 марта 2020

Я пытаюсь сделать функцию поиска на моей домашней странице. Что он должен сделать, так это то, что когда пользователь нажимает кнопку «Поиск», 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')
]

1 Ответ

0 голосов
/ 09 марта 2020

Вы забыли добавить URL-адрес действия в теге формы

<form action="YOUR_SEARCH_URL" method="get">
    ...
</form>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...