Maison >développement back-end >Tutoriel Python >Comment puis-je diffuser les médias téléchargés par les utilisateurs dans mon application Django ?

Comment puis-je diffuser les médias téléchargés par les utilisateurs dans mon application Django ?

DDD
DDDoriginal
2024-11-08 04:50:01584parcourir

How can I serve user-uploaded media in my Django application?

Servir des médias téléchargés par les utilisateurs dans Django

Lorsque vous travaillez avec Django et des médias téléchargés par les utilisateurs, il est crucial de comprendre deux paramètres importants : MEDIA_URL et MEDIA_ROOT. Ces paramètres déterminent où les fichiers téléchargés sont stockés et comment ils sont accessibles sur le frontend.

MEDIA_URL

MEDIA_URL spécifie l'emplacement de l'URL publique où les médias téléchargés sont accessibles. Par défaut, il est défini sur « /media/ ». Cela signifie que les fichiers téléchargés sur MEDIA_ROOT seront servis à des URL telles que « http://votredomaine.com/media/ ».

MEDIA_ROOT

MEDIA_ROOT spécifie l'absolu chemin du système de fichiers où le média téléchargé est stocké. Par défaut, il est défini sur « /path/to/project/media/ ». Il est important de s'assurer que ce répertoire existe et qu'il est accessible en écriture par le processus du serveur Web.

Servir les médias localement

Lors du développement sur votre machine locale, vous pouvez rencontrer des problèmes affichage des images téléchargées en raison de configurations d'URL manquantes. Pour résoudre ce problème :

Pour Django >= 1.7

Ajoutez ce qui suit au fichier de configuration de vos URL (urls.py) :

from django.conf import settings
from django.conf.urls.static import static

urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

Django gérera automatiquement la diffusion des médias statiques en mode débogage.

Pour Django <= 1.6

Ajoutez ce qui suit au fichier de configuration de vos URL (urls.py) :

from django.conf import settings

urlpatterns += patterns('',
    (r'^media/(?P<path>.*)$', 'django.views.static.serve', {
    'document_root': settings.MEDIA_ROOT})
)<p>Cette configuration permet à Django de servir des médias statiques localement.</p>
<p><strong>Accès aux images téléchargées</strong></p>
<p>Une fois la configuration d'URL appropriée en place, vous devrait pouvoir accéder aux images téléchargées en utilisant le format d'URL suivant :</p>
<pre class="brush:php;toolbar:false">http://yourdomain.com/media/path/to/image.png

Où 'path/to/image.png' est le chemin relatif vers l'image téléchargée dans le répertoire MEDIA_ROOT.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn