Django-fr

Forum

#1 11-09-2012 14:49:01

Tibo
Membre
Inscription : 26-06-2012
Messages : 8

Problème avec ImageField

Bonjour à tous,
J'aimerais associer à mes objets des images. Pour ceci j'ai utilisé models.ImageField. Seulement lorsque je lance run le serveur j'ai un problème l'image ne s'affiche pas, une icone signifiant que l'image n'a pas été trouvée la remplace.
J'ai effectué quelques recherches sur le net et il me semble que je ne crée pas bien mes objets dans le shell python.
Voici ma manière de faire :
l=Lieu(nom="Port")
l.save()
(Jusqu'ici pas de soucis c'est normal)
e=l.enigme_set.create(enigme="on y peche", pict="bateau_de_peche.jpg")
e.save()
Il semblerait que le problème survienne ici.
Lorsque je demande e.pict.url j'obtient l'url spécifiée dans le media_root (sans la suite spécifiée dans le upload_to de ImageField : un autre soucis)
et e.pict.path me donne le chemin d'accès à mon image.

Sauriez vous ce qui peche dans mon travail ?
Je vous remercie d'avance de votre aide

Tibo

Hors ligne

#2 11-09-2012 15:15:17

David Thenon
Membre
Inscription : 11-08-2010
Messages : 156
Site Web

Re : Problème avec ImageField

Salut,

Si il te retourne un 404 sur la requete http vers ton image c'est qu'il ne la
trouve pas, donc déjà vérifier que le "e.pict.path" retourne un chemin correct
sur ton Filesystem. En théorie c'est probablement là que ça pêche.

> Lorsque je demande e.pict.url j'obtient l'url spécifiée dans le
> media_root (sans la suite spécifiée dans le upload_to de ImageField : un
> autre soucis)

Oui alors là ce n'est pas un autre soucis, c'est LE soucis, car ce que te
retourne *.url c'est simplement la concaténation de MEDIA_URL et du contenu de
ton champ "pict" (qui lui est utilisé pour le simple *.path car il est
considéré comme un chemin relatif vers ton MEDIA_ROOT).

Vérifie en bdd que ton champ pict est correctement renseigné pour ton objet et
qu'il n'est pas vide (ce qui peut venir d'un problème lors de la création de
ton objet).

Hors ligne

#3 11-09-2012 15:31:13

Tibo
Membre
Inscription : 26-06-2012
Messages : 8

Re : Problème avec ImageField

Après correction j'obtiens bien une url correcte qui provient la concaténation de mon media_url et de mon upload_to. Seulement mon image ne s'affiche tjr pas et le path retourné est parfaitement valide. Je ne comprends donc pas plus qu'avant le problème.

Hors ligne

#4 11-09-2012 15:35:10

Tibo
Membre
Inscription : 26-06-2012
Messages : 8

Re : Problème avec ImageField

Une petite précision, je cherche à afficher mon image liée à l'énigme dans le template de cette énigme. Je ne sais pas si cela peut avoir une importance dans l'affichage.

Hors ligne

#5 11-09-2012 15:49:12

Tibo
Membre
Inscription : 26-06-2012
Messages : 8

Re : Problème avec ImageField

Tout compte fait tout marche correctement après avoir effectué quelques ajouts à mon urls.py
Merci beaucoup de votre aide !

Hors ligne

Pied de page des forums