解决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的pyxmpp2中的主循环使其提高性能
Apr 24 Python
pymongo实现多结果进行多列排序的方法
May 16 Python
python保存字符串到文件的方法
Jul 01 Python
python框架django基础指南
Sep 08 Python
Python实现简单网页图片抓取完整代码实例
Dec 15 Python
详解用Python处理HTML转义字符的5种方式
Dec 27 Python
python获取代理IP的实例分享
May 07 Python
Python使用pymongo模块操作MongoDB的方法示例
Jul 20 Python
一篇文章搞懂Python的类与对象名称空间
Dec 10 Python
详解Python数据分析--Pandas知识点
Mar 23 Python
django的ORM操作 删除和编辑实现详解
Jul 24 Python
Python环境配置实现pip加速过程解析
Nov 27 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 和 HTML
2006/10/09 PHP
?繁体转换的class
2006/10/09 PHP
php 求质素(素数) 的实现代码
2011/04/12 PHP
php实现telnet功能示例
2014/04/08 PHP
phpStudy访问速度慢和启动失败的解决办法
2015/11/19 PHP
ThinkPHP和UCenter接口冲突的解决方法
2016/07/25 PHP
input按钮的事件处理大全
2010/12/10 Javascript
说明你的Javascript技术很烂的五个原因
2011/04/26 Javascript
js精度溢出解决方案
2012/12/02 Javascript
js不能跳转到上一页面的问题解决方法
2013/03/01 Javascript
关于JQuery($.load)事件的用法和分析
2013/04/09 Javascript
JavaScript window.location对象
2014/11/14 Javascript
JavaScript Sort 的一个错误用法示例
2015/03/20 Javascript
详解Javascript模板引擎mustache.js
2016/01/20 Javascript
Bootstrap每天必学之日期控制
2016/03/07 Javascript
JavaScript实现复制或剪切内容到剪贴板功能的方法
2016/05/23 Javascript
简单了解JavaScript操作XPath的一些基本方法
2016/06/03 Javascript
Node.js读写文件之批量替换图片的实现方法
2016/09/07 Javascript
使用BootStrap实现悬浮窗口的效果
2016/12/13 Javascript
Vue.js学习记录之在元素与template中使用v-if指令实例
2017/06/27 Javascript
bootstrap自定义样式之bootstrap实现侧边导航栏功能
2018/09/10 Javascript
详解vue 兼容IE报错解决方案
2018/12/29 Javascript
[02:29]DOTA2英雄基础教程 陈
2013/12/17 DOTA
[05:37]DOTA2-DPC中国联赛 正赛 Elephant vs iG 选手采访
2021/03/11 DOTA
Python端口扫描简单程序
2016/11/10 Python
Python 使用 PyMysql、DBUtils 创建连接池提升性能
2019/08/14 Python
如何使用Python破解ZIP或RAR压缩文件密码
2020/01/09 Python
TensorFlow梯度求解tf.gradients实例
2020/02/04 Python
Python中的sys.stdout.write实现打印刷新功能
2020/02/21 Python
爱游人:Travelliker
2017/09/05 全球购物
合理缓解职场压力,让你随时保持最佳状态!
2019/06/21 职场文书
导游词之云南-元阳梯田
2019/10/08 职场文书
Python Django获取URL中的数据详解
2021/11/01 Python
SQL基础的查询语句
2021/11/11 MySQL
php实现自动生成验证码的实例讲解
2021/11/17 PHP
python神经网络 使用Keras构建RNN训练
2022/05/04 Python