3

学習matplotlibを始めたばかりで、django アプリの 1 つで使用したいと考えています。そのため、モデルの画像フィールドで生成されたグラフを保存して、必要なときにいつでも取得できるようにする方法を知りたかったのです。

4

1 に答える 1

4

matplotlib.pyplot.savefigファイルのようなオブジェクトを最初のパラメーターとして受け入れます。StringIO/を渡すことができBytesIOます (Python のバージョンに応じて)。

f = StringIO()
plt.savefig(f)

次に、 を使用django.core.files.ContentFileして文字列を に変換しますdjango.core.files.File( FieldFile.saveaccept は のインスタンスのみを受け入れるため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()
于 2013-12-14T06:06:39.440 に答える