我正在使用Django模型保存用户上传的图像。我希望每个图像都存储在productimage模型中,该模型是产品模型的外键模型,而productmodel模型是用户模型的外键模型。我的意思是:
用户----->产品------>产品图片
我正在使用for循环从产品模型中打印出所有用户的产品。然后,对于该产品模型中的每个产品,应打印出与该特定产品模型链接的productimage ForeignKey模型。但是,当我返回productimage模型时,它将返回所有productimage模型,而不是仅返回链接到该特定产品模型的模型。
为了进一步澄清我的问题,我的意思是说,对于ProductA,打印出所有与ProductA关联的Productimage,但是与其将所有打印出来的产品打印出来,不考虑与它们链接到的是哪种产品型号,而是打印出所有Productimage。
models.py:
class product(models.Model):
user = models.ForeignKey(User, on_delete=models.CASCADE)
product_title = models.CharField(max_length=100, blank=True)
product_price = models.CharField(max_length=30, blank=True)
product_description = models.CharField(max_length=1000, blank=True)
class productimage(models.Model):
product = models.ForeignKey(product, on_delete=models.CASCADE)
product_images = models.FileField(blank=True)
views.py:
def products(request):
template = loader.get_template("main/products.html")
products = request.user.product_set.all()
for product in products:
productsimages = product.productimage_set.all()
for productimage in productsimages:
imageurl = productimage.product_images.url
context = {
"products" : products,
"productsimages" : productsimages,
"imageurl" : imageurl,
}
return HttpResponse(template.render(context,request))
Html template:
<div id="noproducts">
<!-- <img class="options" src="/static/main/images/box2.png"/>
<h2>It seems like you don't have any products</h2> -->
{% for product in products %}
<div class="col-sm-12 col-lg-3" id="holla">
<div id="imgcontainer">
<img id="img" src="{{ imageurl }}">
</div>
<p>{{ product.product_title }}</p>
<p>₦{{ product.product_price }}</p>
<p>{{ product.product_description }}</p>
</div>
{% endfor %}
</div>
答案 0 :(得分:2)
在forloop中提供您可以使用的产品:
pip install django-mssql
并从上下文中删除产品图片
如果仍然没有图像显示,请在控制台中检查是否显示了这些img标签;如果是,则您对图像的查找不正确,但这是另一个问题
答案 1 :(得分:1)
在产品内部添加另一个循环以显示其图像。
{% for product in products %}
<div class="col-sm-12 col-lg-3" id="holla">
<div id="imgcontainer">
{%for product_image in product.productimage_set.all %}
<img id="img" src="{{ product_image.product_images.url }}">
{% endfor %}
</div>
<p>{{ product.product_title }}</p>
<p>₦{{ product.product_price }}</p>
<p>{{ product.product_description }}</p>
</div>
{% endfor %}