[英]Django Media url returns 404 NOT FOUND
I have a django project. 我有一个django项目。 In order to set up my media url, I followed the django doc Django doc - Managing static files :
为了设置我的媒体网址,我按照django doc Django doc - 管理静态文件 :
For example, if your MEDIA_URL is defined as /media/, you can do this by adding the following snippet to your urls.py:
例如,如果您的MEDIA_URL定义为/ media /,则可以通过将以下代码段添加到urls.py来执行此操作:
from django.conf import settings from django.conf.urls.static import static
来自django.conf的导入设置来自django.conf.urls.static import static
urlpatterns = [ # ... the rest of your URLconf goes here ... ] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
urlpatterns = [#...其余的你的URLconf在这里...] + static(settings.MEDIA_URL,document_root = settings.MEDIA_ROOT)
my settings.py : 我的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/')
my urls.py : 我的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)
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 . 我上传的文件可以在媒体根目录中找到,但是当我访问媒体网址[ http://127.0.0.1:8000/media/proof/img.pdf ]时,它会返回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'
You can't write like that. 你不能这样写。
Your solution, 你的解决方案
MEDIA_URL = '/media/'
urlpatterns = [ ....... ] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
Hope this works. 希望这有效。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.