我需要在我的html中显示在管理页面(使用FileField)上传的多个图片。
我目前正在使用:
Python 3.6.0b4
Django 1.10.3
我目前可以显示模型是否只有一个图像但是当我尝试放置多个图像时,我不知道如何显示它。
这是我的代码:
models.py
class Product(models.Model):
name = models.CharField(max_length=140)
created_by = models.ForeignKey(User,null=True)
def __str__(self):
return self.name
class ProductImage(models.Model):
name= models.ForeignKey(Product)
image = models.FileField(upload_to='media/',null=True,blank=True)
admin.py
class ProductImageInline(admin.TabularInline):
model = ProductImage
class ProductModelAdmin(admin.ModelAdmin):
exclude = ('created_by',)
inlines = [ProductImageInline]
def save_model(self, request, obj, form, change):
if not change:
obj.created_by = request.user
obj.save()
admin.site.register(Product,ProductModelAdmin)
如果我添加
image = models.FileField(upload_to='media/',null=True,blank=True)
在我的 model.py 中,我可以在html中显示它:
<img width=200 src="{{product.image.url}}" /></a>
如何在html中显示多个图像? 我对Django很新,但有网络开发经验。
提前致谢。
答案 0 :(得分:0)
如果您有many-to-one关系,则可以使用<modelname>_set
属性获取与对象记录相关的全部内容。
因此,尝试遍历productimage_set中的所有图像:
{% for image in product.productimage_set.all %}
<img src="{{image.image.url}}">
{% endfor %}