Django上传文件的访问路径问题

在html页面中能正常显示上传图片
<img width="200" height="120" class="scrollLoading" data-url="{{ MEDIA_URL }}{{ course_org.image }}"/>
 
做如下配置
 

 
1.将上传文件指定路径
即在model编写时指定
image = models.ImageField(upload_to="org/%Y/%m", verbose_name=u"logo", max_length=100)
 
2.新建上传文件指定文件夹
即在项目根目录下新建directory 此例名为media
 
3.在setting中配置,将media与根路径结合
MEDIA_URL = '/media/'
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
 
4.在setting的templates追加如下类
TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [os.path.join(BASE_DIR, 'templates')]
        ,
        'APP_DIRS': True,
        'OPTIONS': {
            'context_processors': [
                'django.template.context_processors.debug',
                'django.template.context_processors.request',
                'django.contrib.auth.context_processors.auth',
                'django.contrib.messages.context_processors.messages',
                'django.core.context_processors.media',
            ],
        },
    },
]
 
5.url中添加如下代码
引入serve方法
from django.views.static import serve
 
引入setting中的MEDIA_ROOT
from MxOnline.settings import MEDIA_ROOT
 
#配置上传文件的访问处理函数
url(r'^media/(?P<path>.*)$', serve, {"document_root":MEDIA_ROOT})
posted @ 2020-09-22 19:23  Edward_han  阅读(550)  评论(0)    收藏  举报