解决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 相关文章推荐
简介Django框架中可使用的各类缓存
Jul 23 Python
Python中optparser库用法实例详解
Jan 26 Python
Python函数装饰器实现方法详解
Dec 22 Python
对Python中DataFrame选择某列值为XX的行实例详解
Jan 29 Python
python学习--使用QQ邮箱发送邮件代码实例
Apr 16 Python
对PyQt5中的菜单栏和工具栏实例详解
Jun 20 Python
打包python 加icon 去掉cmd黑窗口方法
Jun 24 Python
Python3之不使用第三方变量,实现交换两个变量的值
Jun 26 Python
详细整理python 字符串(str)与列表(list)以及数组(array)之间的转换方法
Aug 30 Python
100行Python代码实现每天不同时间段定时给女友发消息
Sep 27 Python
Python +Selenium解决图片验证码登录或注册问题(推荐)
Feb 09 Python
TensorFlow2.0使用keras训练模型的实现
Feb 20 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
WordPress判断用户是否登录的代码
2011/03/17 PHP
怎样给PHP源代码加密?PHP二进制加密与解密的解决办法
2013/04/22 PHP
PHP生成图片验证码功能示例
2017/01/12 PHP
PHP结合Vue实现滚动底部加载效果
2017/12/17 PHP
PHP生成推广海报的方法分享
2018/04/22 PHP
javascript 面向对象 function类
2010/05/13 Javascript
javascript获取当前日期时间及其它操作函数
2011/01/11 Javascript
Jquery 表单验证类介绍与实例
2013/06/09 Javascript
Javascript四舍五入Math.round()与Math.pow()使用介绍
2013/12/27 Javascript
Jquery插件分享之气泡形提示控件grumble.js
2014/05/20 Javascript
Jquery简单实现GridView行高亮的方法
2015/06/15 Javascript
js实现仿MSN带关闭功能的右下角弹窗代码
2015/09/04 Javascript
JS仿百度自动下拉框模糊匹配提示
2016/07/25 Javascript
jQuery实现 上升、下降、删除、添加一行代码
2017/03/06 Javascript
使用html+js+css 实现页面轮播图效果(实例讲解)
2017/09/21 Javascript
vue-router中scrollBehavior的巧妙用法
2018/07/09 Javascript
vue基础之使用get、post、jsonp实现交互功能示例
2019/03/12 Javascript
关于layui 实现点击按钮添加一行(方法渲染创建的table)
2019/09/29 Javascript
原生JS实现烟花效果
2020/03/10 Javascript
python 图片验证码代码分享
2012/07/04 Python
利用Python的Flask框架来构建一个简单的数字商品支付解决方案
2015/03/31 Python
Python实现针对给定单链表删除指定节点的方法
2018/04/12 Python
PyGame贪吃蛇的实现代码示例
2018/11/21 Python
露营世界:Camping World
2017/02/02 全球购物
澳大利亚快时尚鞋类市场:Billini
2018/05/20 全球购物
考试作弊被抓检讨书
2014/01/10 职场文书
毕业设计说明书
2014/05/07 职场文书
赞美老师的演讲稿
2014/05/22 职场文书
反腐倡廉剖析材料
2014/09/30 职场文书
家庭财产分割协议范文
2014/11/24 职场文书
入党介绍人意见范文
2015/06/01 职场文书
小学数学继续教育研修日志
2015/11/13 职场文书
优质服务心得体会(共4篇)
2016/01/22 职场文书
MySQL8.0.24版本Release Note的一些改进点
2021/04/22 MySQL
python使用XPath解析数据爬取起点小说网数据
2021/04/22 Python
浅谈Python3中datetime不同时区转换介绍与踩坑
2021/08/02 Python