J'ai installé Pillow et je souhaite maintenant l’utiliser sur mon site Django pour permettre le téléchargement d’images via ma page d’administrateur. Voir précédente question .
Quelles modifications dois-je apporter dans mon fichier de paramètres ou ailleurs pour que Django reconnaisse Pillow et permette à ImageField de télécharger correctement l'image?
Le problème est que les importations fonctionnent maintenant légèrement différemment avec Pillow vs PIL. Les différences sont décrites ici: http://pillow.readthedocs.org/fr/latest/porting-pil-to-pillow.html
Django a également été modifié pour préférer Pillow à PIL, via ce ticket ( https://code.djangoproject.com/ticket/19934 )
Ce commit est présent dans la nouvelle version de Django 1.6a1, le nouveau comportement sera donc présent dans la version 1.6 de Django. Pour l'instant, cependant, il semble que vous puissiez utiliser une nouvelle bibliothèque (initialement publiée le 20 mai 2013) appelée Pillow-PIL, qui fournira un calque de compatibilité. Ceci peut être facilement installé avec pip via: pip install --pre Pillow-PIL
Dans un module Python qui fait un dessin, je mets simplement ce qui suit.
import PIL.Image as Image
et de même pour ImageDraw et ImageFont. Ce sont les seuls changements nécessaires après une installation de routine du programme PIP.
Premièrement, installez un oreiller (ayant virtualenv activé de préférence) avec:
pip install pillow
Vous devez l'importer dans le projet Django:
from PIL import Image
Après cela, vous n'avez pas besoin de modifier les paramètres ni quoi que ce soit d'autre. Tous les modules devraient fonctionner.
Vous ne devriez pas avoir à modifier votre fichier settings.py ni à utiliser Pillow au lieu de PIL. C'est un remplacement immédiat, et il doit simplement être disponible sur votre PYTHONPATH.