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
379 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!

source:php.cn
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