Как использовать Подушку с Django

Я установил Pillow и теперь хочу использовать его на моем сайте Django, чтобы разрешить загрузку изображений через мою страницу администратора. См. Предыдущий question.

Какие изменения необходимо внести в моем файле настроек или в другом месте, чтобы Django распознал подушку и разрешил ImageField правильно загружать изображение?

Ответ 1

Проблема заключается в том, что импорт теперь работает несколько иначе с Pillow vs PIL. Различия описаны здесь: http://pillow.readthedocs.org/en/latest/porting-pil-to-pillow.html

Django также теперь изменен, чтобы предпочесть Pillow над PIL через этот билет (https://code.djangoproject.com/ticket/19934)

Эта фиксация присутствует в новой версии Django 1.6a1, поэтому новое поведение будет присутствовать в выпуске Django 1.6. На данный момент, похоже, вы можете использовать новую библиотеку (первоначально выпущенную 20 мая 2013 г.) под названием Pillow-PIL, которая обеспечит уровень совместимости. Это можно легко установить с помощью pip через: pip install --pre Pillow-PIL

Ответ 2

В модуле Python, который создает чертеж, я просто добавляю следующее.

import PIL.Image as Image

а также для ImageDraw и ImageFont. Это были единственные изменения, которые были необходимы после обычной установки PIP.

Ответ 3

Во-первых, установите подушку (с активированной функцией virtualenv):

pip install pillow

Вы должны импортировать его в проект Django:

from PIL import Image

После этого вам не нужно менять настройки или что-то еще. Все модули должны работать.

Ответ 4

Вам не нужно вносить какие-либо изменения в свои настройки .py или иначе использовать Pillow вместо PIL. Его замена на замену и просто должна быть доступна на вашем PYTHONPATH.