我做了一個表格,然后我做了一個小搜索表格,它可以作業,但是我沒有在搜索結果頁面上顯示搜索詞......
我只想顯示(搜索詞)的搜索結果

這是我的代碼。
視圖.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>
和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 %}
uj5u.com熱心網友回復:
您需要將查詢添加到背景關系:
視圖.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 %}
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/420187.html
標籤:
