Как отобразить поисковый запрос на странице результатов поиска в django?
Я сделал форму, а затем сделал маленькую форму поиска и она работает, но я не отобразил поисковый запрос на странице результатов поиска...
Я просто хочу показать Результаты поиска для (термина поиска)

Вот мои коды.
Views.py
class SearchResultsView(ListView):
model = Post
template_name = 'search.html'
def get_queryset(self):
query = self.request.GET.get('q')
object_list = Post.objects.filter(Q(soru1__icontains=query) | Q(soru2__icontains=query) |
Q(soru3__icontains=query) |
Q(soru4__icontains=query) |
)
return object_list
Base.html (строка поиска в нем)
<form class="d-flex" action="{% url 'search' %}" method="get">
<input class="form-control me-2" name="q" type="text" placeholder="Arama...">
<button class="btn btn-outline-success" type="submit">Ara</button></form>
And search.html
{% extends 'base.html' %}
{% block content %}
<h1>Search Results for </h1>
<ul>
{% for Post in object_list %}
<li>
<a href="{% url 'article-detail' Post.id %}">{{ Post.soru1 }}</a>
</li>
{% endfor %}
</ul>
{% endblock %}
Вам нужно добавить запрос в контекст:
Views.py
class SearchResultsView(ListView):
model = Post
template_name = 'search.html'
def get_queryset(self):
query = self.request.GET.get('q')
object_list = Post.objects.filter(Q(soru1__icontains=query) | Q(soru2__icontains=query) |
Q(soru3__icontains=query) |
Q(soru4__icontains=query) )
return object_list
def get_context_data(self, **kwargs):
context = super(SearchResultsView, self).get_context_data(**kwargs)
context['query'] = self.request.GET.get('q')
return context
и в шаблоне:
{% extends 'base.html' %}
{% block content %}
<h1>Search Results for {{ query }} </h1>
<ul>
{% for Post in object_list %}
<li>
<a href="{% url 'article-detail' Post.id %}">{{ Post.soru1 }}</a>
</li>
{% endfor %}
</ul>
{% endblock %}