87 votes

Comment inclure des fichiers image dans les modèles Django ?

Je suis nouveau dans l'univers de Django et j'essaie de l'apprendre à travers un projet simple que je développe, appelé "dubliners", et une application appelée "book". La structure des répertoires est la suivante :

dubliners/book/  [includes models.py, views.py, etc.]
dubliners/templates/book/

J'ai un fichier JPG qui doit être affiché dans l'en-tête de chaque page Web. Où dois-je stocker le fichier ? Quel chemin dois-je utiliser pour la balise afin de l'afficher à l'aide d'un modèle ? J'ai essayé différents emplacements et chemins, mais rien ne fonctionne pour l'instant.

...

Merci pour la réponse publiée ci-dessous. Cependant, j'ai essayé les chemins relatifs et absolus vers l'image, et j'obtiens toujours une icône d'image cassée affichée dans la page Web. Par exemple, si j'ai une image dans mon répertoire personnel et que j'utilise cette balise dans mon modèle :

<img src="/home/tony/london.jpg" /> 

L'image ne s'affiche pas. En revanche, si j'enregistre la page Web en tant que fichier HTML statique, les images s'affichent, ce qui signifie que le chemin d'accès est correct. Peut-être que le serveur Web par défaut fourni avec Django n'affiche les images que si elles se trouvent sur un chemin particulier ?

0voto

john collin Points 30

Si vous donnez l'adresse de l'image en ligne dans votre projet django, cela fonctionnera. Cela fonctionne pour moi. Vous devriez essayer.

0voto

user13934743 Points 21

Vérifiez également que le problème n'est pas dû au chemin, mais au nom du fichier ou à son extension. Lors de l'échec de la diffusion d'une image ajoutée au modèle base.html, une erreur a été trouvée concernant l'extension du fichier image. Si vous stockez l'image au format jpeg, utilisez l'extension .jpg dans la balise img. <img src="{% static 'logo.jpg' %}" alt="Logo"> .

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X