解决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学习之matplotlib绘制散点图实例
Dec 09 Python
解决Python 爬虫URL中存在中文或特殊符号无法请求的问题
May 11 Python
Python爬虫包BeautifulSoup实例(三)
Jun 17 Python
Python的argparse库使用详解
Oct 09 Python
关于python中密码加盐的学习体会小结
Jul 15 Python
使用python模拟命令行终端的示例
Aug 13 Python
多版本python的pip 升级后, pip2 pip3 与python版本失配解决方法
Sep 11 Python
tensorflow之获取tensor的shape作为max_pool的ksize实例
Jan 04 Python
Python3之外部文件调用Django程序操作model等文件实现方式
Apr 07 Python
django使用JWT保存用户登录信息
Apr 22 Python
tensorflow使用CNN分析mnist手写体数字数据集
Jun 17 Python
pytorch中F.avg_pool1d()和F.avg_pool2d()的使用操作
May 22 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中的日期加减方法示例
2014/08/21 PHP
javascript 特性检测并非浏览器检测
2010/01/15 Javascript
JavaScript中几种常见排序算法小结
2011/02/22 Javascript
关于js拖拽上传 [一个拖拽上传修改头像的流程]
2011/07/13 Javascript
基于JQuery 的消息提示框效果代码
2011/07/31 Javascript
解决js正则匹配换行问题实现代码
2012/12/10 Javascript
基于jQuery实现的图片切换焦点图整理
2014/12/07 Javascript
JavaScript调试工具汇总
2014/12/23 Javascript
JavaScript中点击事件的写法
2016/06/28 Javascript
深入理解JavaScript定时机制
2016/10/27 Javascript
Angularjs 动态改变title标题(兼容ios)
2016/12/29 Javascript
vue.js+Echarts开发图表放大缩小功能实例
2017/06/09 Javascript
JavaScript中document.referrer的用法详解
2017/07/04 Javascript
如何将 jQuery 从你的 Bootstrap 项目中移除(取而代之使用Vue.js)
2017/07/17 jQuery
Bootstrap datepicker日期选择器插件使用详解
2017/07/26 Javascript
微信小程序实现的动态设置导航栏标题功能示例
2019/01/31 Javascript
JS中使用react-tooltip插件实现鼠标悬浮显示框
2019/05/15 Javascript
基于Vue中使用节流Lodash throttle详解
2019/10/30 Javascript
[36:41]完美世界DOTA2联赛循环赛FTD vs Magma第一场 10月30日
2020/10/31 DOTA
Python中的choice()方法使用详解
2015/05/15 Python
在Python中操作文件之read()方法的使用教程
2015/05/24 Python
python中执行shell的两种方法总结
2017/01/10 Python
Python实现Youku视频批量下载功能
2017/03/14 Python
Python3计算三角形的面积代码
2017/12/18 Python
使用Keras预训练模型ResNet50进行图像分类方式
2020/05/23 Python
Scrapy框架介绍之Puppeteer渲染的使用
2020/06/19 Python
python在协程中增加任务实例操作
2021/02/28 Python
新闻专业推荐信范文
2013/11/20 职场文书
员工培训心得体会
2013/12/30 职场文书
毕业寄语大全
2014/04/09 职场文书
公司副总经理任命书
2014/06/05 职场文书
安全施工责任书
2014/08/25 职场文书
2015年领导干部廉洁自律工作总结
2015/05/26 职场文书
后天观后感
2015/06/08 职场文书
《雷雨》教学反思
2016/02/20 职场文书
公历12个月名称的由来
2022/04/12 杂记