【问题标题】:How to display search term on search results page in django?如何在 django 的搜索结果页面上显示搜索词?
【发布时间】:2022-01-23 17:21:52
【问题描述】:

我做了一个表格,然后我做了一个小搜索表格,它可以工作,但是我没有在搜索结果页面上显示搜索词...

我只想显示 (搜索字词)的搜索结果

这是我的代码。

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>

还有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 %}

【问题讨论】:

    标签: django


    【解决方案1】:

    您需要将查询添加到上下文:

    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 %}
    

    【讨论】:

    • 非常感谢我的朋友,你教会了我...
    猜你喜欢
    • 2018-03-05
    • 1970-01-01
    • 2016-04-07
    • 2022-01-18
    • 1970-01-01
    • 2015-11-26
    • 2016-06-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多