【发布时间】:2017-06-29 00:08:22
【问题描述】:
我有带图片的产品,但是当我尝试只显示图片时,django 会向我展示所有图片产品,我该如何解决?我尝试 wite slice 不起作用,因为如果我这样做 |slice:"0:1" 显示图像但不显示此产品。
class Product(models.Model):
category = models.ForeignKey(Category, related_name='product')
name = models.CharField(max_length=200, db_index=True)
slug = models.SlugField(max_length=200, db_index=True)
image = models.ImageField(upload_to='product/%Y/%m/%d',
blank=True)
description = models.TextField(blank=True)
price = models.DecimalField(max_digits=10, decimal_places=2)
stock = models.PositiveIntegerField()
available = models.BooleanField(default=True)
promo = models.BooleanField(default=False)
news = models.BooleanField(default=True)
section = models.CharField(max_length=50, choices=SECTION_CHOICES, default=None)
detailimage = models.ImageField(upload_to='product/detail/%Y/%m/%d',
blank=True)
detailimagetwo = models.ImageField(upload_to='product/detail/%Y/%m/%d',
blank=True)
class Meta:
ordering = ('name',)
index_together = (('id', 'slug'),)
def __str__(self):
return self.name
@property
def image_url(self):
if self.image and hasattr(self.image, 'url'):
return self.image.url
@property
def detail_url(self):
if self.detailimage and hasattr(self.detailimage, 'url'):
return self.detailimage.url
@property
def detailtwo_url(self):
if self.detailimagetwo and hasattr(self.detailimagetwo, 'url'):
return self.detailimagetwo.url
def get_absolute_url(self):
return reverse('shop:product_detail',
args=[self.id, self.slug])
我的意见.py
def product_detail(request, id, slug):
product = get_object_or_404(Product,
id=id,
slug=slug,
available=True)
products = Product.objects.all()
return render(request,
'shop/product/detail.html',
{'product': product,
'products': products})
还有我的 detail.html
{% extends "shop/base.html" %}
{% load static %}
{% block title %}{{ product.name }}{% endblock %}
{% block content %}
{% for p in products %}
<img src="{{p.detail_url}}" class="img-responsive">
{% endfor %}
</div>
</div>
{% endblock %}
如果你想要更多评论,我会以多快的速度添加它。
【问题讨论】:
-
您只想显示一种产品?因为您正在循环所有产品。您是否从其他地方复制了此代码?
-
不,我创建它。我完成了。 Mby很简单,但我不知道怎么做
-
嗯,很难理解你的英语,你的问题是什么,你的母语是什么?也许里面有stackoverflow的版本
标签: django-models django-templates django-views