Python 如何按特定类别显示我的产品
所以我正在制作一个ecom站点,我正在使用Django。我是一个新手,我正在使用一个教程,但我已经开始接触它,因为我想在我的网站上有两个类别,也许将来会有更多。我希望能够按类别显示它们,我请求有关discord服务器的帮助,一些人试图提供帮助,它确实贯穿了我的所有产品,但我有一个if语句,if语句被忽略 那么,有谁能告诉我一种方式来显示其类别设置为特价商品的产品吗?还是只有帽盒 Store.Html models.py 管理员Python 如何按特定类别显示我的产品,python,django,e-commerce,categories,Python,Django,E Commerce,Categories,所以我正在制作一个ecom站点,我正在使用Django。我是一个新手,我正在使用一个教程,但我已经开始接触它,因为我想在我的网站上有两个类别,也许将来会有更多。我希望能够按类别显示它们,我请求有关discord服务器的帮助,一些人试图提供帮助,它确实贯穿了我的所有产品,但我有一个if语句,if语句被忽略 那么,有谁能告诉我一种方式来显示其类别设置为特价商品的产品吗?还是只有帽盒 Store.Html models.py 管理员 代码中的if语句不会像{%if products.categorie
代码中的if语句不会像
{%if products.categories==Hatbox%}
中的产品
那样工作,因为它不是单个类别对象,所以没有任何类别。if语句在Hatbox
周围也缺少引号。请尝试以下操作:
观点
store.html
{% for category in categorys %}
<h1>{{ category.nameOfCategory }}</h1>
{% for product in category.product_set.all %}
{{ product.name }}
{{ product.price }}
{{ product.size.size }}
{% endfor %}
{% endfor %}
{%用于类别中的类别%}
{{category.nameOfCategory}
{category.product_set.all%}中的产品为%
{{product.name}
{{product.price}}
{{product.size.size}
{%endfor%}
{%endfor%}
阅读添加文档和一些StackOverflow链接以及相关名称。在将其传递给模板之前,先在视图中对其进行筛选。或者,修复您的if块。修复我的if块?
{%for products%}
首先,然后{%if-product.category==Hatbox%}
(比较两个字符串,idk如果需要“Hatbox”或不只是尝试),然后根据顺序关闭它。我已经尝试过了,但它不起作用。什么意思是它不起作用?错误?不生成预期答案?不,不工作-它显示所有答案,但返回所有答案的大小-不工作是什么意思?什么不起作用?您是否尝试先显示类别,然后再显示该类别内的所有产品?比如:类别1->产品1,产品2,然后是类别2->产品3是的,但我尝试了你的代码,它没有显示特定类别中项目的大小我已经更新了答案,请阅读相关的\u名称的链接文章
。除非在其他与视图集无关的地方出现问题,否则应该可以使用。。。
from django.shortcuts import render
from .models import *
# Create your views here.
def store(request):
products = Product.objects.all()
categorys = Category.objects.all()
size = Size.objects.all()
context = {
"categorys":categorys,
'products':products,
'size':size
}
return render(request, 'store/store.html', context)
def cart (request):
context = {}
return render(request, 'store/cart.html', context)
def checkout(request):
context = {}
return render(request, 'store/checkout.html', context)
def index(request):
context = {}
return render(request, 'store/index.html', context)
def contacts(request):
context = {}
return render(request, 'store/contacts.html', context)
from django.db import models
from django.contrib.auth.models import User
# Create your models here.
class Customer(models.Model):
user = models.OneToOneField(User, null=True, blank=True, on_delete=models.CASCADE)
name = models.CharField(max_length=200, null=True)
email = models.CharField(max_length=200)
def __str__(self):
return self.name
class Category(models.Model):
nameOfCategory = models.CharField(max_length=200)
def __str__(self):
return self.nameOfCategory
class Size(models.Model):
size = models.CharField(max_length=200)
def __str__(self):
return self.size
class Product(models.Model):
name = models.CharField(max_length=200, blank=True)
size = models.ForeignKey(Size, null=True, blank=True, on_delete=models.CASCADE)
price = models.FloatField()
ribbon_band = models.CharField(max_length=200, null=True, blank=True)
flowers = models.CharField(max_length=200,null=True, blank=True)
exterior_band = models.CharField(max_length=200, null=True, blank=True)
diamondFlowers = models.BooleanField(default=False)
category = models.ForeignKey(Category, null=True, blank=True, on_delete=models.CASCADE)
image = models.ImageField(null=True, blank=True)
def __str__(self):
return self.name
@property
def imageURL(self):
try:
url = self.image.url
except:
url = ''
return url
class Order(models.Model):
customer = models.ForeignKey(Customer, on_delete=models.SET_NULL, null=True, blank=True)
date_ordered = models.DateTimeField(auto_now_add=True)
complete = models.BooleanField(default=False)
transaction_id = models.CharField(max_length=100, null=True)
def __str__(self):
return str(self.id)
class OrderItem(models.Model):
product = models.ForeignKey(Product, on_delete=models.SET_NULL, null=True)
order = models.ForeignKey(Order, on_delete=models.SET_NULL, null=True)
quantity = models.IntegerField(default=0, null=True, blank=True)
date_added = models.DateTimeField(auto_now_add=True)
class ShippingAddress(models.Model):
customer = models.ForeignKey(Customer, on_delete=models.SET_NULL, null=True)
order = models.ForeignKey(Order, on_delete=models.SET_NULL, null=True)
address = models.CharField(max_length=200, null=False)
city = models.CharField(max_length=200, null=False)
state = models.CharField(max_length=200, null=False)
zipcode = models.CharField(max_length=200, null=False)
date_added = models.DateTimeField(auto_now_add=True)
def __str__(self):
return self.address
from django.contrib import admin
from .models import *
admin.site.register(Customer)
admin.site.register(Product)
admin.site.register(Order)
admin.site.register(OrderItem)
admin.site.register(ShippingAddress)
admin.site.register(Category)
admin.site.register(Size)
def store(request):
categorys = Category.objects.all()
context = {
'categorys': categorys,
}
return render(request, 'store/store.html', context)
{% for category in categorys %}
<h1>{{ category.nameOfCategory }}</h1>
{% for product in category.product_set.all %}
{{ product.name }}
{{ product.price }}
{{ product.size.size }}
{% endfor %}
{% endfor %}