from django.http import HttpRequest, HttpResponse from django.views.generic import TemplateView from django.urls import reverse from .filters import ParkFilter from .forms import ParkSearchForm from .querysets import get_base_park_queryset class ParkSearchView(TemplateView): """View for handling park search with autocomplete.""" template_name = "parks/park_list.html" def get_context_data(self, **kwargs): context = super().get_context_data(**kwargs) # Initialize search form context['search_form'] = ParkSearchForm(self.request.GET) # Initialize filter with current querystring queryset = get_base_park_queryset() filter_instance = ParkFilter(self.request.GET, queryset=queryset) context['filter'] = filter_instance # Get filtered queryset queryset = filter_instance.qs # Handle view mode context['view_mode'] = self.request.GET.get('view_mode', 'grid') context['parks'] = queryset return context