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中文網其他相關文章!