解决django的template中如果无法引用MEDIA_URL问题


Posted in Python onApril 07, 2020

配置如下

TEMPLATES = [

下面

'context_processors': [

中添加

'django.core.context_processors.media',

会把MEDIA_URL 配置在template中

这样在template下面 就可以引用MEDIA_URL了

补充知识:在django中使用 MEDIA_URL 和 MEDIA_ROOT

在django上传图片前端使用动态的配置方法

MEDIA_ROOT 代表着 要上传的路径会和你在models中写的上传的路径进行拼节形成最终文件上传的路径 

MEDIA_URL主要就是映射了 在前端使用media_url当你的media_root发生改变的时候不用去更改前端模板中的内容

前端模板中的写法

后面是从数据库中 查询出来的 上传文件的地址url

"{{ MEDIA_URL }}{{ course_org.image }}"

前端生成的路径

"/media/org/2017/07/qhdx-logo.png"/

要想正常的显示图片 还需要下面几步:

1 在settings 中配置路径

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

2 在TEMPLATES 中添加一个上下文环境 'django.core.context_processors.media', 这个会

自动的把MEDIA_URL 注册到前端的模板中的 没有这个上下文环境 MEDIA_URL在前端是没有显示的

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',
      ],
    },
  },

3 在url中配置media请求的url

首先需要导入下面的库 和在settings 中配置的 MEDIA_ROOT上传路径

from django.views.static import serve
from MxOnline.settings import MEDIA_ROOT

配置url 固定的 里面的内容不能改的

url(r'media/(?P<path>.*)$', serve, {'document_root': MEDIA_ROOT}),

以上这篇解决django的template中如果无法引用MEDIA_URL问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python实现基于两张图片生成圆角图标效果的方法
Mar 26 Python
在Linux系统上安装Python的Scrapy框架的教程
Jun 11 Python
浅析Python中signal包的使用
Nov 13 Python
Python的Django应用程序解决AJAX跨域访问问题的方法
May 31 Python
Python实现类的创建与使用方法示例
Jul 25 Python
神经网络(BP)算法Python实现及应用
Apr 16 Python
python 列表递归求和、计数、求最大元素的实例
Nov 28 Python
使用python和pygame制作挡板弹球游戏
Dec 03 Python
tf.concat中axis的含义与使用详解
Feb 07 Python
Python txt文件常用读写操作代码实例
Aug 03 Python
Python根据字符串调用函数过程解析
Nov 05 Python
python tqdm用法及实例详解
Jun 16 Python
Django {{ MEDIA_URL }}无法显示图片的解决方式
Apr 07 #Python
Python Opencv中用compareHist函数进行直方图比较对比图片
Apr 07 #Python
python opencv实现图片缺陷检测(讲解直方图以及相关系数对比法)
Apr 07 #Python
解决django无法访问本地static文件(js,css,img)网页里js,cs都加载不了
Apr 07 #Python
Pytest框架之fixture的详细使用教程
Apr 07 #Python
4行Python代码生成图像验证码(2种)
Apr 07 #Python
Django media static外部访问Django中的图片设置教程
Apr 07 #Python
You might like
PHP 第二节 数据类型之数值型
2012/04/28 PHP
PHP array_multisort() 函数的深入解析
2013/06/20 PHP
php中in_array函数用法分析
2014/11/15 PHP
php上传图片并压缩的实现方法
2015/12/22 PHP
PHP中的随机性 你觉得自己幸运吗?
2016/01/22 PHP
php面试实现反射注入的详细方法
2019/09/30 PHP
JavaScript Array扩展实现代码
2009/10/14 Javascript
js Function类型
2011/12/04 Javascript
基于jquery的滚动条滚动固定div(附演示下载)
2012/10/29 Javascript
一行代码实现纯数据json对象的深度克隆实现思路
2013/01/09 Javascript
JS实现时间格式化的方式汇总
2013/10/16 Javascript
javascript判断变量是否有值的方法
2015/04/20 Javascript
jQuery插件animateSlide制作多点滑动幻灯片
2015/06/11 Javascript
JavaScript学习笔记之取数组中最大值和最小值
2016/03/23 Javascript
归纳下js面向对象的几种常见写法总结
2016/08/24 Javascript
Bootstrap Table列宽拖动的方法
2018/08/15 Javascript
element-ui使用导航栏跳转路由的用法详解
2018/08/22 Javascript
react配置antd按需加载的使用
2019/02/11 Javascript
Jquery动态列功能完整实例
2019/08/30 jQuery
Js实现复选框的全选、全不选反选功能代码实例
2020/02/28 Javascript
[01:07:17]EG vs Optic Supermajor 败者组 BO3 第一场 6.6
2018/06/07 DOTA
python分布式环境下的限流器的示例
2017/10/26 Python
python+ffmpeg批量去视频开头的方法
2019/01/09 Python
Win下PyInstaller 安装和使用教程
2019/12/25 Python
浅谈django channels 路由误导
2020/05/28 Python
Python通过zookeeper实现分布式服务代码解析
2020/07/22 Python
Python 使用Opencv实现目标检测与识别的示例代码
2020/09/08 Python
阿玛尼意大利官网:Armani意大利
2018/10/30 全球购物
台湾时尚彩瞳专门店:imeime
2019/08/16 全球购物
企业面试题试卷附带答案
2015/12/20 面试题
售后服务承诺书范文
2014/03/26 职场文书
助人为乐模范事迹材料
2014/06/02 职场文书
终止劳动合同协议书
2014/10/05 职场文书
2015年乡镇统计工作总结
2015/04/22 职场文书
学习《中小学教师职业道德规范》心得体会
2016/01/18 职场文书
电子表的操作介绍说明书
2019/10/28 职场文书