首頁 >後端開發 >Python教學 >如何在 Django 應用程式中提供用戶上傳的媒體?

如何在 Django 應用程式中提供用戶上傳的媒體?

DDD
DDD原創
2024-11-08 04:50:01626瀏覽

How can I serve user-uploaded media in my Django application?

在Django 中提供用戶上傳的媒體

使用Django 和用戶上傳的媒體時,了解兩個重要設定至關重要: MEDIA_URL和媒體根。這些設定決定上傳的檔案的儲存位置以及如何在前端存取它們。

MEDIA_URL

MEDIA_URL 指定可以存取上傳的媒體的公共 URL 位置。預設情況下,它設定為“/media/”。這表示上傳到 MEDIA_ROOT 的檔案將透過「http://yourdomain.com/media/」等 URL 提供服務。

MEDIA_ROOT

MEDIA_ROOT 指定絕對路徑儲存上傳媒體的檔案系統路徑。預設情況下,它設定為“/path/to/project/media/”。確保此目錄存在並且可由 Web 伺服器程序寫入非常重要。

在本地提供媒體服務

在本地電腦上進行開發期間,您可能會遇到問題由於缺少 URL 配置而無法查看上傳的圖像。要解決此問題:

For Django >= 1.7

將以下內容新增至您的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 將在偵錯模式下自動處理靜態媒體服務。

對於Django

將以下內容加入您的URL 設定檔(urls.py):

from django.conf import settings

urlpatterns += patterns('',
    (r'^media/(?P<path>.*)$', 'django.views.static.serve', {
    'document_root': settings.MEDIA_ROOT})
)

此設定允許Django 在本地提供靜態媒體。

訪問上傳的圖像

一旦適當的URL 配置到位,您就可以應該能夠使用以下URL 格式存取上傳的圖像:

http://yourdomain.com/media/path/to/image.png

其中「path/to/image.png」是MEDIA_ROOT 目錄中上傳映像的相對路徑。

以上是如何在 Django 應用程式中提供用戶上傳的媒體?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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