解决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字符串中查找子串小技巧
Apr 10 Python
python+selenium实现京东自动登录及秒杀功能
Nov 18 Python
用TensorFlow实现lasso回归和岭回归算法的示例
May 02 Python
对python3中pathlib库的Path类的使用详解
Oct 14 Python
Python/ArcPy遍历指定目录中的MDB文件方法
Oct 27 Python
Python字符串的全排列算法实例详解
Jan 07 Python
Python小白必备的8个最常用的内置函数(推荐)
Apr 03 Python
Python内置数据类型list各方法的性能测试过程解析
Jan 07 Python
Python使用tkinter实现摇骰子小游戏功能的代码
Jul 02 Python
opencv 形态学变换(开运算,闭运算,梯度运算)
Jul 07 Python
用python实现一个简单计算器(完整DEMO)
Oct 14 Python
python基础之模块的导入
Oct 24 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
建立动态的WML站点(一)
2006/10/09 PHP
mantis安装、配置和使用中的问题小结
2014/07/14 PHP
php使用PDO操作MySQL数据库实例
2014/12/30 PHP
浅析Yii2集成富文本编辑器redactor实例教程
2016/04/25 PHP
ThinkPHP框架表单验证操作方法
2017/07/19 PHP
php统计数组不同元素的个数的实例方法
2019/09/26 PHP
比较全面的event对像在IE与FF中的区别 推荐
2009/09/21 Javascript
js 定时器setTimeout无法调用局部变量的解决办法
2013/11/28 Javascript
现如今最流行的JavaScript代码规范
2014/03/08 Javascript
js面向对象之常见创建对象的几种方式(工厂模式、构造函数模式、原型模式)
2015/11/09 Javascript
javascript中checkbox使用方法实例演示
2015/11/19 Javascript
Bootstrap模态对话框的简单使用
2016/04/29 Javascript
JS文件/图片从电脑里面拖拽到浏览器上传文件/图片
2017/03/08 Javascript
vue引入swiper插件的使用实例
2017/07/19 Javascript
Angular学习笔记之集成三方UI框架、控件的示例
2018/03/23 Javascript
javascript少儿编程关于返回值的函数内容
2018/05/27 Javascript
vue路由前进后退动画效果的实现代码
2018/12/10 Javascript
Vue动态组件与异步组件实例详解
2019/02/23 Javascript
layui实现二维码弹窗、并下载到本地的方法
2019/09/25 Javascript
[36:17]DOTA2上海特级锦标赛 - VGL音乐会全集
2016/03/06 DOTA
[01:50:49]DOTA2-DPC中国联赛 正赛 PSG.LGD vs Aster BO3 第三场 1月24日
2021/03/11 DOTA
python通过yield实现数组全排列的方法
2015/03/18 Python
python使用BeautifulSoup分析网页信息的方法
2015/04/04 Python
python编程使用selenium模拟登陆淘宝实例代码
2018/01/25 Python
获取Pytorch中间某一层权重或者特征的例子
2019/08/17 Python
numpy实现神经网络反向传播算法的步骤
2019/12/24 Python
PyCharm License Activation激活码失效问题的解决方法(图文详解)
2020/03/12 Python
俄罗斯皮肤健康中心:Pharmacosmetica.ru
2020/02/22 全球购物
火山动力Java笔试题
2014/06/26 面试题
酒店应聘自荐信
2013/11/09 职场文书
机械设计专业应届生求职信
2013/11/21 职场文书
优秀员工评优方案
2014/06/13 职场文书
出差报告怎么写
2014/11/06 职场文书
项目技术负责人岗位职责
2015/04/13 职场文书
行为习惯主题班会
2015/08/14 职场文书
《比的意义》教学反思
2016/02/18 职场文书