給定一個django圖像字段,我該如何創建一個PIL圖像,反之亦然?如何將django圖像場形成爲PIL圖像並返回?
簡單的問題,但很難谷歌:(
(我將使用Django的imagekit的處理器旋轉已存儲的模型屬性。圖像)
編輯
In [41]: m.image_1.__class__
Out[41]: django.db.models.fields.files.ImageFieldFile
In [42]: f = StringIO(m.image_1.read())
In [43]: Image.open(f)
---------------------------------------------------------------------------
IOError Traceback (most recent call last)
<ipython-input-43-39949b3b74b3> in <module>()
----> 1 Image.open(f)
/home/eugenekim/virtualenvs/zibann/local/lib/python2.7/site-packages/PIL/Image.pyc in open(fp, mode)
2023 pass
2024
-> 2025 raise IOError("cannot identify image file")
2026
2027 #
IOError: cannot identify image file
In [44]:
難道這不是'導入圖像; pil_image = Image.open(my_image_from_image_field.name)'工作? – Bernhard
@Bernhard,'.name'是相對於'MEDIA_ROOT'。它可以被省略,因爲ImageField/FileField像文件對象一樣操作。 – falsetru