301 votes

MEDIA_URL Django et MEDIA_ROOT

Je suis en train d'uploader une image via l'admin de Django et puis afficher cette image dans une page sur le frontend ou tout simplement via une URL.

Remarque c'est tout sur ma machine locale.

Mes paramètres sont les suivants:

MEDIA_ROOT = '/home/dan/mysite/media/'

MEDIA_URL = '/media/'

J'ai mis le upload_to paramètre "image" et le fichier a été correctement téléchargé dans le répertoire:

'/home/dan/mysite/media/images/myimage.png'

Cependant, lorsque j'essaie d'accéder à l'image, à l'adresse suivante:

http://127.0.0.1:8000/media/images/myimage.png

J'ai une erreur 404.

Ai-je besoin de configuration spécifiques URLconf modèles pour le téléchargement des médias?

Tous les conseils appréciés.

Merci.

373voto

Micah Carrick Points 4858

Essayez de mettre ceci dans votre urls.py

Avec cela, vous pouvez servir les médias statiques de Django lorsque DEBUG = True (lorsque vous êtes sur l’ordinateur local) mais vous pouvez laisser votre configuration du serveur web de servir des médias statiques quand vous allez à la production et DEBUG = False

118voto

JChen___ Points 429

Nous recommandons de lire la DOC officielle de Django et vous trouverez la réponse plus apte.

La façon meilleure et plus facile de résoudre ce problème est comme ci-dessous.

L’url connexes est : https://docs.djangoproject.com/en/1.5/howto/static-files/#serving-files-uploaded-by-a-user

24voto

mipadi Points 135410
<blockquote> <p>Ai-je besoin de configuration que spécifique URLconf embarque pour les médias téléchargés ?</p> <p>Oui. Pour le développement, il est aussi facile que d’ajouter ceci à votre URLconf :</p><pre><code></code></pre><p>Toutefois, pour la production, vous aurez envie de servir des médias à l’aide de Apache, lighttpd, nginx ou votre serveur web préféré.</p></blockquote>

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