簡體   English   中英

Django Media網址返回404 NOT FOUND

[英]Django Media url returns 404 NOT FOUND

我有一個django項目。 為了設置我的媒體網址,我按照django doc Django doc - 管理靜態文件

例如,如果您的MEDIA_URL定義為/ media /,則可以通過將以下代碼段添加到urls.py來執行此操作:

來自django.conf的導入設置來自django.conf.urls.static import static

urlpatterns = [#...其余的你的URLconf在這里...] + static(settings.MEDIA_URL,document_root = settings.MEDIA_ROOT)

我的settings.py

# ....
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
BASE_URL = 'http://127.0.0.1:8000'
# ...
MEDIA_URL_REL = '/media/'
MEDIA_URL = BASE_URL + MEDIA_URL_REL
MEDIA_ROOT = os.path.join(BASE_DIR, 'media/')

我的urls.py

from django.conf import settings
from django.conf.urls import url, include
from django.conf.urls.static import static

urlpatterns = [
 # ...
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

我上傳的文件可以在媒體根目錄中找到,但是當我訪問媒體網址[ http://127.0.0.1:8000/media/proof/img.pdf ]時,它會返回HTTP 404 NOT FOUND

請不要使用硬編碼制作任何網址。 這不僅僅是不好的做法。

BASE_URL = 'http://127.0.0.1:8000'

你不能這樣寫。

你的解決方案

settings.py

MEDIA_URL = '/media/'

urls.py

urlpatterns = [ ....... ] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

希望這有效。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM