Python 如何在Django中搜索产品?

Python 如何在Django中搜索产品?,python,django,django-models,django-forms,django-views,Python,Django,Django Models,Django Forms,Django Views,我正在尝试在Django中创建搜索功能,我的Django表中有一些数据存储,我正在搜索产品name,但我得到的是空白输出,请检查我的代码并告诉我哪里出错了 这是我的url.py文件: from.views导入SearchResultsView urlpatterns=[ 路径('search',SearchResultsView.as_view(),name='search_results'), ] 这是我的views.py文件: 来自django.views.generic import L

我正在尝试在Django中创建搜索功能,我的Django表中有一些数据存储,我正在搜索产品
name
,但我得到的是空白输出,请检查我的代码并告诉我哪里出错了

这是我的
url.py
文件:

from.views导入SearchResultsView
urlpatterns=[
路径('search',SearchResultsView.as_view(),name='search_results'),
]
这是我的
views.py
文件:

来自django.views.generic import ListView的

从django.db.models导入Q
类SearchResultsView(ListView):
型号=产品
模板名称='mainpage/search product.html'
#prod=Product.objects.all()
def get_queryset(自我):
query=self.request.GET.GET('search'))
products=Product.objects.filter(Q(name\uu icontains=query))
退货
这是我的
base.html
文件:


{%csrf_令牌%}
这是我的
models.py
文件:

类产品(models.Model):
name=models.CharField(最大长度=225)
slug=型号。SlugField(最大长度=225,唯一性=真)
subcategory=models.ForeignKey('subcategory',related_name='prosubcat',on_delete=models.CASCADE,blank=True,null=True)
totalprice=models.IntegerField()
saleprice=models.IntegerField()
折扣=型号。整型字段(默认值=无)
标题=型号。CharField(最大长度=225)
description=models.TextField()
overview=models.TextField(null=True)
featured=models.BooleanField(null=True)
image=models.ImageField(空白=True)
tags=TaggableManager()
已创建\u at=models.DateTimeField(自动\u now\u add=True)
更新的\u at=models.DateTimeField(自动\u now=True)
这是我的
搜索产品.html
文件:


{产品%中catproduct的百分比}
{{catproduct.overview}

₹ {{catproduct.saleprice} {%endfor%}
基本上,您在名为的类中缺少一个属性,该属性本应设置为
products
。试着这样做:

class SearchResultsView(ListView):
    model = Product
    template_name = 'mainpage/search-product.html'
    context_object_name = 'products'

    def get_queryset(self):
        query = self.request.GET.get('search')
        products=Product.objects.filter(Q(name__icontains=query))
        return products

如果未设置此值,则包含模板中查询集的
上下文对象将命名为
\u list
。可以找到有关如何定义的更多详细信息。

您可以共享您的模板
mainpage/search product.html
以及模型吗?您确定
products.count()
是非零值吗?@ruddra I更新了我的问题,请检查
models.py
文件there@ArakkalAbu你能更新数据库中搜索产品的代码吗?非常感谢@ruddra,你救了我一天,我从昨天就被困在这里,太好了。那就请吧。谢谢:)