解决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 02 Python
Python使用getpass库读取密码的示例
Oct 10 Python
Python3 使用selenium插件爬取苏宁商家联系电话
Dec 23 Python
Python面向对象之多态原理与用法案例分析
Dec 30 Python
以SQLite和PySqlite为例来学习Python DB API
Feb 05 Python
如何在Python 游戏中模拟引力
Mar 27 Python
Django model.py表单设置默认值允许为空的操作
May 19 Python
pandas创建DataFrame的7种方法小结
Jun 14 Python
python3环境搭建过程(利用Anaconda+pycharm)完整版
Aug 19 Python
pycharm激活码免费分享适用最新pycharm2020.2.3永久激活
Nov 25 Python
python中time包实例详解
Feb 02 Python
Python基础之元编程知识总结
May 23 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+iframe实现隐藏无刷新上传文件
2012/02/10 PHP
tp框架(thinkPHP)实现三次登陆密码错误之后锁定账号功能示例
2018/05/24 PHP
TP5框架页面跳转样式操作示例
2020/04/05 PHP
基于php+MySql实现学生信息管理系统实例
2020/08/04 PHP
jQuery 事件队列调整方法
2009/09/18 Javascript
前淘宝前端开发工程师阿当的PPT中有JS技术理念问题
2010/01/15 Javascript
通过判断JavaScript的版本实现执行不同的代码
2010/05/11 Javascript
通过Jquery遍历Json的两种数据结构的实现代码
2011/01/19 Javascript
js 通用javascript函数库整理
2011/08/14 Javascript
javascript学习笔记(十七) 检测浏览器插件代码
2012/06/20 Javascript
原生js实现半透明遮罩层效果具体代码
2013/06/06 Javascript
jquery轮播的实现方式 附完整实例
2016/07/28 Javascript
js实现界面向原生界面发消息并跳转功能
2016/11/22 Javascript
AngularJS使用带属性值的ng-app指令实现自定义模块自动加载的方法
2017/01/04 Javascript
详谈jQuery unbind 删除绑定事件 / 移除标签方法
2017/03/02 Javascript
jQuery插件HighCharts绘制2D带有Legend的饼图效果示例【附demo源码下载】
2017/03/10 Javascript
详解微信小程序实现WebSocket心跳重连
2018/07/31 Javascript
基于vue和react的spa进行按需加载的实现方法
2018/09/29 Javascript
微信小程序实现蒙版弹出窗功能
2019/09/17 Javascript
Vue使用screenfull实现全屏效果
2020/09/17 Javascript
详解为什么Vue中的v-if和v-for不建议一起用
2021/01/13 Vue.js
[01:46]DOTA2上海特锦赛小组赛英文解说KotlGuy采访
2016/02/27 DOTA
[12:21]VICI vs TNC (BO3)
2018/06/07 DOTA
[48:12]Secret vs Optic Supermajor 胜者组 BO3 第三场 6.4
2018/06/05 DOTA
python 读写中文json的实例详解
2017/10/29 Python
利用python解决mysql视图导入导出依赖的问题
2017/12/17 Python
python内存监控工具memory_profiler和guppy的用法详解
2019/07/29 Python
python实现根据给定坐标点生成多边形mask的例子
2020/02/18 Python
Python Flask上下文管理机制实例解析
2020/03/16 Python
Python分类测试代码实例汇总
2020/07/23 Python
开业庆典主持词
2014/03/21 职场文书
关于十八大的演讲稿
2014/09/15 职场文书
纪念一二九运动演讲稿
2014/09/16 职场文书
介绍信的格式
2015/01/30 职场文书
电工生产实习心得体会
2016/01/22 职场文书
sql查询语句之平均分、最高最低分及排序语句
2022/05/30 MySQL