图片上传的配置
image = models.ImageField(upload_to='org/%Y/%m',...)
upload_to默认是上传到项目的'MEDIA_ROOT/org/%Y/%m'的,但此时若没有进行全局的MEDIA_ROOT配置,那就会在根目录下生成org文件夹
无论任何时候,数据库中都只会存储'org/2019/12/imooc.png'
所以需要配置media
settings.py
MEDIA_URL='/media/'
MEDIA_ROOT=os.path.join(BASE_DIR,'media')
这个时候,在xadmin页面点上传文件,然后发现根目录下的多了media文件夹,而且图片也在里面了
但是为什么网页还是显示破图?
因为没有配置url地址
此时,去配置url
from django.views.static import serve
from MxOnline.settings import MEDIA_ROOT
url(r'^media/(?P<path>.*)$', serve,{'document_root':MEDIA_ROOT}),
此时,图片上传与访问配置完成
分析: serve(request, path, document_root=None,...) 函数其实就是做路径的拼接
print(MEDIA_ROOT) >>> G:\PycharmProjects\Jzy\07.xadmin\MxOnline\media
serve源码:
path = posixpath.normpath(path).lstrip('/')
fullpath = Path(safe_join(document_root, path))
print(path) >>> org/2019/12/imooc.png
print(fullpath) >>> G:\PycharmProjects\Jzy\07.xadmin\MxOnline\media\org\2019\12\imooc.png
让MEDIA_URL成为全局变量,方便html调用
'django.template.context_processors.media',
{{ MEDIA_URL }}{{ hot_course.image }} 功能等同于 {{ hot_course.image.url }}
总结:
MEDIA_URL='/media/' 这个media和url地址中的media必须一致 url(r'^media/(?P<path>.*)$', ...
MEDIA_ROOT=os.path.join(BASE_DIR,'media') 这个media必须和实际的文件夹名字一致

Django_图片的上传下载显示配置的更多相关文章

  1. .Net Core 图片文件上传下载

    当下.Net Core项目可是如雨后春笋一般发展起来,作为.Net大军中的一员,我热忱地拥抱了.Net Core并且积极使用其进行业务的开发,我们先介绍下.Net Core项目下实现文件上传下载接口. ...

  2. django中图片的上传和显示

    上传图片实际上是 把图片存在服务器的硬盘中,将图片存储的路径存在数据库中. 1 首先要配置文件上传的路径: 1.1 建立静态文件目录 在项目根目录下 新建一个 static文件夹,下面再建立一个med ...

  3. MVC 4 图片的上传及显示

    1 首先我们看一下如何上传 1.1 view 上传页面: 1: @using (Html.BeginForm("Create", "Achievement", ...

  4. 文件上传下载显示进度(vue)

    编写了一个vue组件,可以实时显示文件上传和下载时候的进度 <template> <div v-show="circleProgress_wrapper_panel_sta ...

  5. Django中图片的上传并显示

    一.settings配置文件中配置 MEDIA_URL = '/media/' MEDIA_ROOT = os.path.join(BASE_DIR, 'medias').replace('\\', ...

  6. 航空售票系统设计分析(Markdownpad2图片服务器上传无法显示)

    一.体系结构设计 1.系统原型图 2.体系结构环境图 3.构建结构图 二.人机交互界面设计 1.用户分析结果及建议 本次分析的主要目标关注用户评论反馈,对反馈进行归纳,设计出用户喜欢的界面样式.用户的 ...

  7. ruby on rails爬坑(三):图片上传及显示

    一,问题及思路 最近在用rails + react + mysql基本框架写一个cms + client的项目,里面涉及到了图片的上传及显示,下面简单说说思路,至于这个项目的配置部署,应该会在寒假结束 ...

  8. 用Canvas+Javascript FileAPI 实现一个跨平台的图片剪切、滤镜处理、上传下载工具

    直接上代码,其中上传功能需要自己配置允许跨域的文件服务器地址~ 或者将html文件贴到您的站点下同源上传也OK. 支持: 不同尺寸图片获取. 原图缩小放大. 原图移动. 选择框大小改变. 下载选中的区 ...

  9. ASP.NET MVC图片管理(上传,预览与显示)

    先看看效果(下面gif动画制作有点大,5.71MB): 题外话:上面选择图片来源于Insus.NET的新浪微博:http://weibo.com/104325017 也是昨晚(2015-07-03)I ...

随机推荐

  1. C 库函数 - strcspn()

    定义 size_t strcspn(const char *str1, const char *str2) 参数 str1 -- 要被检索的 C 字符串. str2 -- 该字符串包含了要在 str1 ...

  2. ZR#985

    ZR#985 解法: 可以先假设每个区间中所有颜色都出现,然后减掉多算的答案.对每种颜色记录它出现的位置,则相邻两个位置间的所有区间都要减去,时间复杂度 $ O(n) $ . 其实可以理解为加法原理的 ...

  3. fastdfs通过docker安装

    安装前准备 # yum install -y git #下载git # cd /data # mkdir fastdfs # cd fastdfs # git clone https://github ...

  4. Git Bash基础使用(初始化)

    前提是在码云上已经新建一个空的项目,可参考:https://www.cnblogs.com/babysbreath/p/9170455.html 1.新建一个目录,存放下载下来的项目,我在D盘新建了一 ...

  5. PHP的ini_set函数用法

    PHP   ini_set用来设置php.ini的值,在函数执行的时候生效,脚本结束后,设置失效.无需打开php.ini文件,就能修改配置,对于虚拟空间来说,很方便. 函数格式:string   in ...

  6. openwrt共享打印机需要安装哪几个文件

    opkg updateopkg install luci-app-p910ndopkg install kmod-usb-printer

  7. MATLAB中 H(b > g) = 2*pi - H(b > g); 作何解

    H(b > g) = 2*pi - H(b > g); %b > g 会得到一个逻辑矩阵,如b=[7,5,6] ;g=[1,2,8],那么b>g会得到[1,1,0]: b< ...

  8. Android 自定义View 四个构造函数详解

    https://blog.csdn.net/zhao123h/article/details/52210732 在开发android开发过程中,很多人都会遇到自定义view,一般都需要继承自View类 ...

  9. 网关 apache APISIX

    网关 apache - 国内版 Binghttps://cn.bing.com/search?q=%E7%BD%91%E5%85%B3+apache&qs=n&form=QBRE&am ...

  10. PHP获取远程文件的大小,通过ob_get_contents实现

    function remote_filesize($uri,$user='',$pw='') { ob_start(); $ch = curl_init($uri); curl_setopt($ch, ...