【发布时间】:2020-07-08 06:28:16
【问题描述】:
我正在尝试为电子商务创建类别
urlpatterns = [
path('category/<cats>/', views.categoryView , name = 'category')
]
views.py:
def categoryView(request, cats):
products_category = Product.objects.filter(category=cats)
return render(request, 'store/categories.html', {'cats': cats.title(), 'products_category': products_category})
models.py
class Category(models.Model):
name = models.CharField(max_length=100)
image = models.FileField(null=True, blank=True)
def __str__(self):
return self.name
def get_absolute_url(self):
return reverse('index')
@property
def imageURL(self):
try:
url = self.image.url
except:
url = ''
return url
class Product(models.Model):
name = models.CharField(max_length=200)
slug = models.SlugField(max_length=40, unique=True)
price = models.FloatField()
discount = models.FloatField(blank=True, null=True)
digital = models.BooleanField(default=False, null=True, blank=True)
category = models.ForeignKey(Category, on_delete=models.CASCADE, related_name='category')
featured = models.BooleanField(default=False, null=True, blank=True)
new = models.BooleanField(default=False, null=True, blank=True)
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
html
{% for product in products_category %}
<div class="col-lg-3 col-md-6">
<div class="product-item mb-30">
<a href="#" class="product-img">
<img src="{{ product.imageURL}}" alt="">
<div class="product-absolute-options">
<span class="offer-badge-1">6% off</span>
<span class="like-icon" title="wishlist"></span>
</div>
</a>
</div>
</div>
{% endfor %}
当我尝试将类别名称添加到我的 URL 时出现此错误,如果我在 URL 中写下这样的类别 ID >>http://127.0.0.1:8000/category/3/ 我得到了正确的页面,如果我单击类别,则会在 / 处收到此消息 ValueError类别/糖/ 字段 'id' 需要一个数字,但得到了 'sugar'。
【问题讨论】:
标签: django django-models django-views