如何在django中显示外键图像
how to display foreignkey image in django
问题来了,我对外键有点迷茫,我看过很多post,但我不是很明白。
我有一个项目 table:
class Item(models.Model):
title = models.CharField(max_length=150)
slug = models.SlugField(max_length=100)
price = models.IntegerField()
stock = models.IntegerField()
description = models.TextField()
image = models.ImageField(upload_to=item_file_name)
有一张图片是校长。当我列出所有项目时,在我的索引上我想看到每个项目的图像。但是,当我单击该项目时,我想查看该项目的所有图像(在另一个视图中)。所以我做到了。
class ImageOfItem(models.Model):
picture = models.ImageField(upload_to=item_file_name_for_image)
item = models.ForeignKey('Item')
我不知道它是否好用,但它确实有效。我可以在管理面板上添加一个带有图片的项目。然后我可以添加图像并将其附加到项目。(它有效,最好的方法是在创建项目时能够上传所有图像,但我更喜欢从简单开始)。
所以知道一切都如我所愿。但我不知道如何显示所有图像。
我的观点是这样的:
def view_item(request, id, slug):
item = get_object_or_404(Item, id=id)
return render(request, 'ecommerce/view_item.html', locals())
我不知道我是否也必须获取图像,或者 django 是否已经完成了。并且没有 var_dump 所以无法知道它是否在我的变量 item
中
我的模板:
{{item.title}}
{{item.description}}<br>
{{item.price}}<br>
{{item.stock}}<br>
<img src="{{ item.image.url }}"><br> //principal image it works !!
{% for img in item.ImageOfItem %}
<img src="{{ img.picture.url }}"><br> //**all the image I want to display too (but don't know how)**
{% endfor %}
我也想展示所有图片(但不知道怎么展示)
你应该 follow relationship backward 从 Item
到 ImageOfItem
:
{% for img in item.imageofitem_set.all %}
<img src="{{ img.picture.url }}"><br>
{% endfor %}
问题来了,我对外键有点迷茫,我看过很多post,但我不是很明白。
我有一个项目 table:
class Item(models.Model):
title = models.CharField(max_length=150)
slug = models.SlugField(max_length=100)
price = models.IntegerField()
stock = models.IntegerField()
description = models.TextField()
image = models.ImageField(upload_to=item_file_name)
有一张图片是校长。当我列出所有项目时,在我的索引上我想看到每个项目的图像。但是,当我单击该项目时,我想查看该项目的所有图像(在另一个视图中)。所以我做到了。
class ImageOfItem(models.Model):
picture = models.ImageField(upload_to=item_file_name_for_image)
item = models.ForeignKey('Item')
我不知道它是否好用,但它确实有效。我可以在管理面板上添加一个带有图片的项目。然后我可以添加图像并将其附加到项目。(它有效,最好的方法是在创建项目时能够上传所有图像,但我更喜欢从简单开始)。
所以知道一切都如我所愿。但我不知道如何显示所有图像。
我的观点是这样的:
def view_item(request, id, slug):
item = get_object_or_404(Item, id=id)
return render(request, 'ecommerce/view_item.html', locals())
我不知道我是否也必须获取图像,或者 django 是否已经完成了。并且没有 var_dump 所以无法知道它是否在我的变量 item
中我的模板:
{{item.title}}
{{item.description}}<br>
{{item.price}}<br>
{{item.stock}}<br>
<img src="{{ item.image.url }}"><br> //principal image it works !!
{% for img in item.ImageOfItem %}
<img src="{{ img.picture.url }}"><br> //**all the image I want to display too (but don't know how)**
{% endfor %}
我也想展示所有图片(但不知道怎么展示)
你应该 follow relationship backward 从 Item
到 ImageOfItem
:
{% for img in item.imageofitem_set.all %}
<img src="{{ img.picture.url }}"><br>
{% endfor %}