Django Media url返回404 Not Found [英] Django Media url returns 404 NOT FOUND

查看:45
本文介绍了Django Media url返回404 Not Found的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个django项目.为了设置我的媒体网址,我遵循了django doc Django doc-静态文件:

I have a django project. In order to set up my media url, I followed the django doc Django doc - Managing static files:

例如,如果您的MEDIA_URL定义为/media/,则可以通过将以下代码段添加到urls.py中来做到这一点:

For example, if your MEDIA_URL is defined as /media/, you can do this by adding the following snippet to your urls.py:

从django.conf导入设置从django.conf.urls.static导入静态

from django.conf import settings from django.conf.urls.static import static

urlpatterns = [#... URLconf的其余部分在这里...] +静态(settings.MEDIA_URL,document_root = settings.MEDIA_ROOT)

urlpatterns = [ # ... the rest of your URLconf goes here ... ] + 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)

我的上载文件位于媒体根目录中,但是当我访问媒体URL时[ http://127.0.0.1:8000/media/proof/img.pdf ],它会返回未找到HTTP 404 .

My uploaded files are found in media root, but when I access media url [ http://127.0.0.1:8000/media/proof/img.pdf]for it, it returns HTTP 404 NOT FOUND.

推荐答案

请不要使用任何硬编码的网址.这不仅仅是坏习惯.

Please don't make any url with hard coded. This is more than bad practice.

BASE_URL ='http://127.0.0.1:8000'

你不能这样写.

您的解决方案,

MEDIA_URL ='/media/'

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

希望这行得通.

这篇关于Django Media url返回404 Not Found的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆