搜索功能在 Django / Bootstrap 中不起作用

问题描述 投票:0回答:1

我在 Django 的搜索功能中遇到问题。功能如下:

 def search(request):
    if request.method == 'GET':
        query = request.GET.get('query','')
    allPosts = Post.objects.filter(Q(title__icontains=query) | Q(content__icontains=query))
    return render(request, 'dn/search.html', {'allPosts':allPosts, 'query':query})

搜索表格如下:

<form class ="{% url 'search' %} d-flex" method="get">
<input class="form-control me-2" type="text" name="query" placeholder="Search" aria-label="Search">
<button class=" text-white text-uppercase fw-bold btn btn-outline-primary light border-1 rounded-pill border-white border border-1" type="submit">Search</button>
</form>

搜索页面如下:

{%extends 'dn/base.html'%}

{% block title %} Search Results | active {% endblock title %}


{% block content %} 
    <div class="container">
        {% if allposts %}
            {% for query in allposts %}
                <div class="row">
                    <div class = "col md-12">    
                        <h3>{{query.title}}</h3> <br> 
                    </div>                    
                    <div class="col-md-12">
                        <p>{{query.content}} </p>
                    </div> 
                </div>  
            {% endfor %} 
        {% else %}
        <p><h3> No Search Results </h3></P>
        {% endif %} 
    </div>
{%endblock%}    

但是,在系统中搜索任何内容时都没有显示结果。

你能指导我得到结果时缺少什么吗?

谢谢你。

问候 SSA

django search
1个回答
0
投票

模板中的变量名称区分大小写。

用途:

{% if allPosts %}
    {% for query in allPosts %}

而不是:

{% if allposts %}
    {% for query in allposts %}
© www.soinside.com 2019 - 2024. All rights reserved.