[英]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'
你不能這樣寫。
你的解決方案
MEDIA_URL = '/media/'
urlpatterns = [ ....... ] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
希望這有效。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.