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