mirror of
https://github.com/pacnpal/thrillwiki_django_no_react.git
synced 2025-12-20 17:31:09 -05:00
31 lines
1.0 KiB
Python
31 lines
1.0 KiB
Python
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 |