Django - Загрузить действительное изображение - PullRequest
2 голосов
/ 20 декабря 2011

Я использую Ubuntu, Django 1.3, Python 2.7.
Когда я пытаюсь загрузить определенные типы изображений, я получаю это сообщение:

Загрузить действительное изображение. Загруженный файл не является изображением или поврежденным изображением.

Это происходит с PNG и JPG (форматы, которые мне нужны).
TIFF и GIF (что я не и не буду заботиться) работают.

Что я могу сделать?

Ответы [ 4 ]

4 голосов
/ 20 декабря 2011

Установить PIL!

$ sudo apt-get install python-imaging

(для Ubuntu или другого дистрибутива Debian)

2 голосов
/ 20 декабря 2011

Если вы получили эту ошибку и установили PIL в Ubuntu, проверьте, что у вас установлены библиотеки jpeg, freetype, zlib.

Я предлагаю вам также использовать apt / aptitude вместо pip / easy_install.

Если вы действительно хотите установить PIL с pip, обратите внимание, что программа установки PIL не найдет ваши установленные библиотеки (libjpg ...), потому что Ubuntu устанавливает эти библиотеки

здесь -> / usr /lib / x86_64-linux-gnu для 64-битной или здесь -> / usr / lib / x86_32-linux-gnu для 32-битной

, чтобы исправить это, вы можете добавить это в setup.py (конечно, вам нужно скачатькопия PIL отсюда -> http://www.pythonware.com/products/pil/)

вокруг строки 200 (там вы должны увидеть другие пути)

add_directory(library_dirs, "/usr/lib/x86_64-linux-gnu")
2 голосов
/ 20 декабря 2011

И не забывайте про jpeg-lib! Без этого PIL не поймет, с каким форматом он может работать.

0 голосов
/ 08 сентября 2015

Я обнаружил, что эта ошибка может быть вызвана IntegrityError при сохранении в db

...