解决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 __setattr__、 __getattr__、 __delattr__、__call__用法示例
Mar 06 Python
解决python3在anaconda下安装caffe失败的问题
Jun 15 Python
浅析python参数的知识点
Dec 10 Python
Flask框架模板继承实现方法分析
Jul 31 Python
Python学习笔记之错误和异常及访问错误消息详解
Aug 08 Python
Python Lambda函数使用总结详解
Dec 11 Python
Pytorch 多维数组运算过程的索引处理方式
Dec 27 Python
基于TensorBoard中graph模块图结构分析
Feb 15 Python
Python破解BiliBili滑块验证码的思路详解(完美避开人机识别)
Feb 17 Python
基于Python数据结构之递归与回溯搜索
Feb 26 Python
Python 3.9的到来到底是意味着什么
Oct 14 Python
Python pandas求方差和标准差的方法实例
Aug 04 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 5.0对象模型深度探索之对象复制
2008/03/27 PHP
php实现的简单压缩英文字符串的代码
2008/04/24 PHP
PHP基于mssql扩展远程连接MSSQL的简单实现方法
2016/10/08 PHP
PHP数组操作实例分析【添加,删除,计算,反转,排序,查找等】
2016/12/24 PHP
Laravel学习教程之本地化模块
2017/08/18 PHP
PHP两个n位的二进制整数相加问题的解决
2018/08/26 PHP
Laravel5.7 数据库操作迁移的实现方法
2019/04/12 PHP
escape、encodeURI、encodeURIComponent等方法的区别比较
2006/12/27 Javascript
js右键菜单效果代码
2007/07/21 Javascript
JS与框架页的操作代码
2010/01/17 Javascript
详细讲解JS节点知识
2010/01/31 Javascript
js 多浏览器分别判断代码
2010/04/01 Javascript
ExtJS 入门
2010/10/29 Javascript
ExtJs纵坐标值重复问题的解决方法
2014/02/27 Javascript
JavaScript DOM操作表格及样式
2015/04/13 Javascript
javascript新闻跑马灯实例代码
2020/07/29 Javascript
功能强大的Bootstrap效果展示(二)
2016/08/03 Javascript
javascript轮播图算法
2016/10/21 Javascript
jQuery使用ajax_动力节点Java学院整理
2017/07/05 jQuery
如何将 jQuery 从你的 Bootstrap 项目中移除(取而代之使用Vue.js)
2017/07/17 jQuery
javaScript中&quot;==&quot;和&quot;===&quot;的区别详解
2018/03/16 Javascript
vue.js 中使用(...)运算符报错的解决方法
2018/08/09 Javascript
JavaScript函数式编程(Functional Programming)高阶函数(Higher order functions)用法分析
2019/05/22 Javascript
Python脚本在Appium库上对移动应用实现自动化测试
2015/04/17 Python
Python编程实现双击更新所有已安装python模块的方法
2017/06/05 Python
celery4+django2定时任务的实现代码
2018/12/23 Python
浅谈python函数调用返回两个或多个变量的方法
2019/01/23 Python
wxPython电子表格功能wx.grid实例教程
2019/11/19 Python
Python更新所有已安装包的操作
2020/02/13 Python
【HTML5】3D模型--百行代码实现旋转立体魔方实例
2016/12/16 HTML / CSS
Android面试题附答案
2014/12/08 面试题
公司成立感言
2014/01/11 职场文书
《黄山奇石》教学反思
2014/04/19 职场文书
大学优秀班集体申报材料
2014/05/23 职场文书
党的群众路线教育实践活动党员个人整改措施
2014/10/27 职场文书
Python可视化学习之seaborn调色盘
2022/02/24 Python