Как исправить функцию поиска в Django?
У меня есть страница со списком объектов. Мне нужна функция поиска, но возникает ошибка. Я в процессе изучения и использовал from . import views
и функция поиска работала, но потом я заменил его на from .views import HomeView
и изменил некоторый код. Список отображается, но при поиске возникает ошибка: type object 'HomeView' has no attribute 'Search'
Urls.py:
from django.urls import path
#from . import views
from .views import HomeView
urlpatterns = [
#path('', views.home, name="home"),
path('search/', HomeView.Search.as_view(), name='search'),
path('', HomeView.as_view(), name="home"),
]
Home.html:
<div>
<h3>Find</h3>
<form action="{% url 'search' %}" method="get">
<input type="search" name="q" class="form-control" required="">
<button type="submit">Find!</button>
</form>
</div>
<h3>Applications</h3>
{% for application in object_list %}
<div>
<p>{{ application.name }}</p>
</div>
{% endfor %}
</div>
Views.py:
from django.shortcuts import render
from django.views.generic import ListView
from .models import Application
from .forms import ApplicationForm
from django.urls import reverse_lazy
class HomeView(ListView):
model = Application
template_name = 'home.html'
class Search(ListView):
def get_queryset(self):
return Application.objects.filter(title__icontains=self.request.GET.get("q"))
def get_context_data(self, *args, **kwargs):
context = super().get_context_data(*args, **kwargs)
context["q"] = self.request.GET.get("q")
return context
</div>