[3.0.x] Fixed #13750 -- Clarified need to reopen models.ImageField.image file to access raw image data.
Backport of f57e174fa6
from master
This commit is contained in:
parent
e5d3f3b83c
commit
4037b4c2b5
|
@ -73,6 +73,27 @@ location (:setting:`MEDIA_ROOT` if you are using the default
|
|||
>>> car.photo.path == new_path
|
||||
True
|
||||
|
||||
.. note::
|
||||
|
||||
Whilst :class:`~django.db.models.ImageField` non-image data attributes,
|
||||
such as ``height``, ``width``, and ``size`` are available on the instance,
|
||||
the underlying image data cannot be used without reopening the image. For
|
||||
example::
|
||||
|
||||
>>> from PIL import Image
|
||||
>>> car = Car.objects.get(name='57 Chevy')
|
||||
>>> car.photo.width
|
||||
191
|
||||
>>> car.photo.height
|
||||
287
|
||||
>>> image = Image.open(car.photo)
|
||||
# Raises ValueError: seek of closed file.
|
||||
>>> car.photo.open()
|
||||
<ImageFieldFile: cars/chevy.jpg>
|
||||
>>> image = Image.open(car.photo)
|
||||
>>> image
|
||||
<PIL.JpegImagePlugin.JpegImageFile image mode=RGB size=1600x1200 at 0x7F99A94E9048>
|
||||
|
||||
The ``File`` object
|
||||
===================
|
||||
|
||||
|
|
Loading…
Reference in New Issue