我有一个模特
class Anh_chi_tiet(models.Model):
du_an = models.ForeignKey(Du_an)
title = models.CharField(max_length=120)
url = models.ImageField(upload_to='images', height_field='50', width_field='100')
url_detail = models.ImageField(upload_to='images', height_field='200', width_field='400')
我总是收到这个错误:
'Anh_chi_tiet' object has no attribute '100'
似乎Django需要同一个表Anh_chi_tiet中的两个字段来保存height_field和width_field。
如何在不在表格中添加新字段的情况下直接设置这些值?
答案 0 :(得分:19)
height_field
表示模型的属性,用于存储高度。
class Anh_chi_tiet(models.Model):
url_height=models.PositiveIntegerField()
url_width=models.PositiveIntegerField()
url = models.ImageField(upload_to='images', height_field='url_height', width_field='url_width')
注意height_field='url_height'
答案 1 :(得分:5)
我认为你误解了height_field和width_field属性的用途。
height_field不用于更改高度。它用于记录已经是的高度。
通过这种方式,您可以执行类似
的操作<img src="..." height={{my_instance.my_height_field}} />
无需阅读文件。
如果您要调整通过ImageField上传的所有图片的尺寸,请点击此处: Image resizing with django?