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

DDD
發布: 2024-11-08 04:50:01
原創
499 人瀏覽過

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

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!