Maison > Article > développement back-end > Comment puis-je diffuser les médias téléchargés par les utilisateurs dans mon application Django ?
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!