Django的。未找到媒体文件 [英] Django. Media Files not found

查看:1114
本文介绍了Django的。未找到媒体文件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

好,我有一个Django 1.10项目。相关设置如下所示:

  BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath (__file__)))
MEDIA_ROOT = BASE_DIR +/ media /
MEDIA_URL ='/ media /'

我正在本地工作,我可以正确上传图片。但是当我尝试使用 {{image.image.url}} 访问模板上的图像时,我得到了一个404。在终端我可以看到: p>

  [06 / Sep / 2016 18:13:43]GET /media/folder/uploaded_image.jpg HTTP / 1.1404 4900 

但是,如果我查看我的文件夹,该文件在那里,由django正确上传。 >

解决方案

尝试使用os.path.join,像这样:

  MEDIA_ROOT = os.path.join(BASE_DIR,'media /')

您可能还需要更新您的urls.py:

 从django.conf导入设置
从django .conf.urls.static import django.conf.urls中导入静态
import url
from django.contrib import admin

urlpatterns = [
url(r'^ admin /',admin.site.urls),
]

如果settings.DEBUG为True:
urlpatterns + = static(settings.MEDIA_URL,document_root = settings.MEDIA_ROOT)


Ok, I have a Django 1.10 project. The relevant settings look like this:

BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
MEDIA_ROOT = BASE_DIR + "/media/"
MEDIA_URL = '/media/'

I'm working locally, I can upload images correctly. But when I try to access the image on a template using {{ image.image.url }}, I get a 404. In the terminal I can see this:

[06/Sep/2016 18:13:43] "GET /media/folder/uploaded_image.jpg HTTP/1.1" 404 4900

But if I look into my folder, the file is there, correctly uploaded by django.

解决方案

Try using os.path.join, like this:

MEDIA_ROOT = os.path.join(BASE_DIR, 'media/')

You probably also need to update your urls.py with this:

from django.conf import settings
from django.conf.urls.static import static
from django.conf.urls import url
from django.contrib import admin

urlpatterns = [
    url(r'^admin/', admin.site.urls),
]

if settings.DEBUG is True:
    urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

这篇关于Django的。未找到媒体文件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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