2013-12-14 100 views

回答

2

matplotlib.pyplot.savefig接受文件类对象作为第一个参数。你可以通过StringIO/BytesIO(根据你的python版本)。

f = StringIO() 
plt.savefig(f) 

然后,使用django.core.files.ContentFile的字符串转换为django.core.files.File(因为FieldFile.save只接受接受django.core.files.File一个实例)。

content_file = ContentFile(f.getvalue()) 
model_object = Model(....) 
model_object.image_field.save('name_of_image', content_file) 
model_object.save() 
+0

我使用Python 2.7版,我得到一个'不defined'错误都StringIO的和BytesIO –

+0

@AswinMurugesh,将其导入。 '从io import BytesIO' /'从StringIO import StringIO' /'从cStringIO import StringIO'。 – falsetru

+0

@AswinMurugesh,http://docs.python.org/2/library/stringio.html/ http://docs.python.org/3/library/io.html#io.BytesIO – falsetru

相关问题