首頁  >  文章  >  後端開發  >  如何使用 Django 的 MEDIA_URL 和 MEDIA_ROOT 提供上傳的映像?

如何使用 Django 的 MEDIA_URL 和 MEDIA_ROOT 提供上傳的映像?

Patricia Arquette
Patricia Arquette原創
2024-11-17 02:45:03380瀏覽

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

Django 的MEDIA_URL 和MEDIA_ROOT:解決映像存取問題

在Django 中,MEDIA_URL 和MEDIA_L 和MEDIA.提供給前端。常見的場景是使用 Django 管理員上傳圖像,然後透過 URL 或前端頁面存取它。

依照所提出的問題,上傳已正確保存,但 URL 存取會導致 404 錯誤,我們可以利用 URLconf 模式來解決這個問題。

Django 1.7 和的解決方案以上

根據Django 2.1 文檔,將以下程式碼片段加入您的URL 配置中將在開發過程中處理靜態文件的服務,包括上傳的媒體:

from django.conf.urls.static import static
urlpatterns = patterns(...) + static(MEDIA_URL, document_root=MEDIA_ROOT)

Django 1.6及以下的解決方案

對於舊版本的Django,以下URLconf可以配置為提供靜態媒體:

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}))

透過新增此配置,Django 將在開發過程中當DEBUG = True(在本機電腦上)時提供靜態檔案。但是,對於生產,可以將 Web 伺服器配置為在 DEBUG = False 時處理靜態媒體服務。

此解決方案可讓您使用 Django 的 MEDIA_URL 和 MEDIA_ROOT 設定成功上傳和存取本機電腦上的映像。

以上是如何使用 Django 的 MEDIA_URL 和 MEDIA_ROOT 提供上傳的映像?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn