Maison > développement back-end > Tutoriel Python > Comment servir les images téléchargées avec MEDIA_URL et MEDIA_ROOT de Django ?

Comment servir les images téléchargées avec MEDIA_URL et MEDIA_ROOT de Django ?

Patricia Arquette
Libérer: 2024-11-17 02:45:03
original
492 Les gens l'ont consulté

How to Serve Uploaded Images with Django's MEDIA_URL and MEDIA_ROOT?

MEDIA_URL et MEDIA_ROOT de Django : résolution des problèmes d'accès aux images

Dans Django, les paramètres MEDIA_URL et MEDIA_ROOT jouent un rôle crucial dans la gestion des fichiers téléchargés et les servir au frontend. Un scénario courant consiste à télécharger une image à l'aide de l'administrateur Django, puis à y accéder via une URL ou sur une page frontale.

Suite au problème présenté, où les téléchargements sont correctement enregistrés mais l'accès à l'URL entraîne une erreur 404. , nous pouvons utiliser des modèles de configuration d'URL pour résoudre ce problème.

Solution pour Django 1.7 et supérieur

Conformément à la documentation de Django 2.1, l'ajout de l'extrait suivant à votre configuration d'URL sera gérer le service des fichiers statiques, y compris les médias téléchargés, pendant le développement :

from django.conf.urls.static import static
urlpatterns = patterns(...) + static(MEDIA_URL, document_root=MEDIA_ROOT)
Copier après la connexion

Solution pour Django 1.6 et versions antérieures

Pour les anciennes versions de Django, l'URLconf suivante peut être configuré pour servir des médias statiques :

from django.conf.urls.patterns import patterns, url
from django.views.static import serve
if settings.DEBUG:
    urlpatterns += patterns('',
        url(r'^media/(?P<path>.*)$', serve, {'document_root': MEDIA_ROOT}))
Copier après la connexion

En ajoutant cette configuration, Django servira les fichiers statiques lorsque DEBUG = True (sur la machine locale) pendant le développement. Cependant, pour la production, le serveur Web peut être configuré pour gérer la diffusion de médias statiques lorsque DEBUG = False.

Cette solution vous permet de télécharger et d'accéder avec succès aux images sur une machine locale à l'aide des paramètres MEDIA_URL et MEDIA_ROOT de Django.

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 de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal