Django搜索html表单

2024-10-01 09:37:57 发布

您现在位置:Python中文网/ 问答频道 /正文

我想在我的django网站上做一个搜索表单。 所以我只创建一个产品搜索列表:

class ProductSearchListView(ProductList):
    """
    Display a Product List page filtered by the search query
    """
    paginate_by = 10

    def get_queryset(self):
        result = super(ProductSearchListView, self).get_queryset()

        query = self.request.GET.get('q')

        if query:
            query_list = query.split()
            result = result.filter(
                reduce(
                    operator.and_,
                    (Q(nome__icontains=q) for q in query_list)
                ) |
                reduce(
                    operator.and_,
                    (Q(categoria__icontains=q) for q in query_list)
                )
            )

        return result

在我的HTML中,我希望有一个框来进行简单的搜索,单击ENTER,用户应该会看到所有产品的列表。在

^{pr2}$

Tags: andselfreduce列表forgetby产品
1条回答
网友
1楼 · 发布于 2024-10-01 09:37:57

我解决了问题。在

首先,我在视图.py公司名称:

def return_home(request):
    lista_de_produtos = Produto.objects.all()
    query = request.GET.get("q")
    if query:
        query_list = query.split()
        lista_de_produtos = lista_de_produtos.filter(nome__icontains=query)


    context = {
        "produtos": lista_de_produtos,
    }
    return render(request, 'homepage.html', context)

之后,我编写HTML代码:

^{pr2}$

谢谢你!在

相关问题 更多 >