diff options
author | Hasan Ramezani <hasan.r67@gmail.com> | 2019-10-25 14:57:37 +0200 |
---|---|---|
committer | Carlton Gibson <carlton.gibson@noumenal.es> | 2019-10-29 16:10:37 +0100 |
commit | 4cc1549b6ebfe8983ee2fd4b9be973448f2d0e0b (patch) | |
tree | 2bd89c7a5de70920a2475b21ea97aa2552a468da | |
parent | 4d992bc7d1548663be871aa3b835e7ac91659a22 (diff) | |
download | django-4cc1549b6ebfe8983ee2fd4b9be973448f2d0e0b.tar.gz |
[2.2.x] Fixed #13750 -- Clarified need to reopen models.ImageField.image file to access raw image data.
Backport of f57e174fa61e4c31213f6d0033fb9d647b463626 from master
-rw-r--r-- | docs/topics/files.txt | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/docs/topics/files.txt b/docs/topics/files.txt index 67ce56adcd..58bf9b7715 100644 --- a/docs/topics/files.txt +++ b/docs/topics/files.txt @@ -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 =================== |