Django 1.7,Pillow 2.7。
我需要在文件字段中为不同的文件使用相同的文件名。
Django模型:
class FileStorage(models.Model):
image = models.ImageField(null=True, blank=True)
代码:
item = FileStorage.objects.get(id=1)
image_buffer = StringIO.StringIO()
new_image = Image.new('RGB', (100, 100))
new_image.save(image_buffer, 'JPEG')
image_file = InMemoryUploadedFile(image_buffer, 'image', 'test.jpg', 'image/jpeg', image_buffer.len, None)
item.image.save('test.jpg', image_file)
print item.image.name
# hm4730iiecd8tw2.jpg
image_buffer = StringIO.StringIO()
new_image = Image.new('RGB', (100, 100))
new_image.save(image_buffer, 'JPEG')
image_file = InMemoryUploadedFile(image_buffer, 'image', 'test.jpg', 'image/jpeg', image_buffer.len, None)
item.image.save('test.jpg', image_file)
print item.image.name
# 2ji9eni7ywqqndf.jpg
我有点不清楚为什么Django不保留我的文件名。有什么想法吗?
答案 0 :(得分:1)
您应该为ImageField定义upload_to
选项:
class FileStorage(models.Model):
image = models.ImageField(upload_to="media/", null=True, blank=True)