Я создаю функцию поиска в django, но она не работает

Я пытаюсь создать функцию для поиска объектов в base.html из базы данных по ключевому слову и печати результатов в listing.html

base.html

 <form method="post" action="{% url 'listing'}"  name="searchform">
                        {% csrf_token %}
                    <div class="custom-form">
                            <label>Keywords </label>
                            <input type="text" placeholder="Property Keywords" name="search_keyword" value=""/>
                            <label >Categories</label>
                            <select data-placeholder="Categories" name = "home_type" class="chosen-select on-radius no-search-select" >
                                <option>All Categories</option>
                                <option>Single-family</option>
                                <option>Semi-detached</option>
                                <option>Apartment</option>
                                <option>Townhomes</option>
                                <option>Multi-family</option>
                                <option>Mobile/Manufactured</option>
                                <option>Condo</option>
                            </select>
                            <label style="margin-top:10px;" >Price Range</label>
                            <div class="price-rage-item fl-wrap">
                                <input type="text" class="price-range" data-min="10000" data-max="100000000000"  name="price-range1"  data-step="1" value="1" data-prefix="$₦">
                            </div>
                            <button onclick="location.href='listing'" type="button"  class="btn float-btn color-bg"><i class="fal fa-search"></i> Search</button>
                    </div>
                </form>

views.py

def listing(request):
    global search_keyword
        

    p = Paginator(Property.objects.order_by('-listed_on'), 2)
    page = request.GET.get('page')
    propertys = p.get_page(page)
    nums = "p" * propertys.paginator.num_pages

    if request.method == 'POST' and 'searchform' in request.POST : 
        search_keyword = request.POST['search_keyword']
        propertys = Property.objects.filter(name__contains=search_keyword)

        return render(request, 'listing.html',{'nums':nums, 'search_keyword':search_keyword, 'propertys':propertys})

    return render(request, 'listing.html',{'nums':nums,'propertys':propertys})

Ваш синтаксис тега url[django-doc] неправильный, он должен быть {% url 'listing' %}, а не {% url 'listing'}, вы забыли добавить % в конце, что не является синтаксисом языка шаблонов django.

Попробуйте это:

Файл шаблона:

 <form method="POST" action="{% url 'listing' %}"  name="searchform">

Вы также можете использовать __icontains для нечувствительности к регистру.

Вернуться на верх