Django search Form <QuerySet []>

Я создаю модель Search_Model с QuerySet.

Например, если я ищу яблоки

Результат отображается как Search By <QuerySet []> Почему так?

Моя html декларация выглядит следующим образом

<h1>
Search By {{posts}}
<h2

MY BASE.HTML

<form class="form-inline my-2 my-lg-0" action="{% url 'search' %}">
                    <input class="form-control mr-sm-2" type="search"   placeholder="Search" aria-label="Search" name="search">
                    <button class="btn btn-outline-success my-2 my-sm-0" type="submit">Search</button>
</form>

MY SEARCH.HTML

{% extends "shopping_mall/base.html" %}
{% block search %}
<div>
    <h1>
        Search
    </h1>
    <h2>
        Search By {{posts}}
    </h2>
</div>
{% endblock %}

MY urls.py

from django.urls import path
from . import views


urlpatterns = [
    path('', views.index, name='index'),
    path('search/',views.search, name='search'),
    path('top_cloth/', views.top_cloth),
    path('top_cloth/<int:pk>/', views.cloth_detail, name='top_cloth_pk'),
    path('top_cloth/<int:pk>/comment/', views.add_comment, name='add_comment'),
    path('top_cloth/<int:pk>/remove/', views.comment_remove, name='comment_remove'),
    path('top_cloth/<int:pk>/modify/', views.comment_modify, name='comment_modify'),

]

MY views.py

def search(request):
    search_post = request.GET.get('search')

    if search_post:
        posts = ProductList.objects.filter(Q(product_name__icontains=search_post))
    else:
        posts = ProductList.objects.all().order_by("-date_created")

    return render(request, 'shopping_mall/search.html', {'posts': posts})
Вернуться на верх