2
我刚开始学习matplotlib
,我想在我的一个django应用程序中使用它。所以我想知道如何保存我的模型图像场中生成的图形,以便在需要时进行回放。将matplotlib图形保存为数据库中的图像字段
我刚开始学习matplotlib
,我想在我的一个django应用程序中使用它。所以我想知道如何保存我的模型图像场中生成的图形,以便在需要时进行回放。将matplotlib图形保存为数据库中的图像字段
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()
我使用Python 2.7版,我得到一个'不defined'错误都StringIO的和BytesIO –
@AswinMurugesh,将其导入。 '从io import BytesIO' /'从StringIO import StringIO' /'从cStringIO import StringIO'。 – falsetru
@AswinMurugesh,http://docs.python.org/2/library/stringio.html/ http://docs.python.org/3/library/io.html#io.BytesIO – falsetru