Django搜索作为输入输入到表单中

时间:2016-09-09 01:01:25

标签: python django search

我目前在项目中有一个工作搜索表单,它将表单数据传递给GET请求。很标准。 我想要做的是搜索数据输入到搜索表单中,以便结果将实时显示搜索数据。这与Google对即时桌面结果的处理方式非常相似。这是Django可能的事情吗? 以下是我目前的(简单)搜索

#views.py
def ProductView(request):
title = 'Products'
all_products = Product.objects.all().order_by("product_Name")
query = request.GET.get("q")
if query:
    products = all_products.filter(
        Q(product_Name__contains=query) |
        Q(manufacturer__contains=query)
    ).distinct()
    return render(request, 'mycollection/details.html', { 'all_products' : products })

-

<!-- HTML -->
    <!-- SEARCH BAR -->
<form class="navbar-form navbar-left" role="search" method="get" action="{% url 'mycollection:products' %}">
    <div class="form-group">
        <input type="text" class="form-control" name="q" value="{{ request.GET.q }}">
    </div>
    <button type="submit" class="btn btn-default">Search</button>
</form>

1 个答案:

答案 0 :(得分:0)

您可以将request.data保存到会话中,如果有任何数据与会话搜索数据相关联,您可以将其放入搜索框的值。

request.session['search'] = request.GET.get('q','')

templete:

{% if request.session.search %} {{request.session.search}} {% endif %}