Python 如何在Django中搜索产品?
我正在尝试在Django中创建搜索功能,我的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
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,你救了我一天,我从昨天就被困在这里,太好了。那就请吧。谢谢:)