Django使用HttpResponse返回图片并显示的方法


Posted in Python onMay 22, 2018

做了一个关于Django的小案例,想要在网页中显示图片,直接在img标签的src属性写图片的路径是不能显示的,查询资料发现在Django中使用图片这类的资源相当繁琐需要进行一定D的配置,摸索了一会没有整明白,想到了写Java时使用文件流返回图片,于是想到使用该种方式来显示图片。

使用实例如下:

views.py

def my_image(request,news_id): 
  d = path.dirname(__file__) 
  #parent_path = path.dirname(d) 
  print("d="+str(d)) 
  imagepath = path.join(d,"static/show/wordimage/"+str(news_id)+".png") 
  print("imagepath="+str(imagepath)) 
  image_data = open(imagepath,"rb").read() 
  return HttpResponse(image_data,content_type="image/png") #注意旧版的资料使用mimetype,现在已经改为content_type

urls.py

urlpatterns = [ 
  url(r'^index/$', views.index,name="index"), 
  url(r'^search/$', views.search,name="search"), 
  url(r'^science/(?P<news_id>.+)/$', views.science,name="science"), 
  <strong>url(r'^image/(?P<news_id>.+)/$',views.my_image,name="image"),</strong> 
]

temlate:

<img src="{% url 'show:image' param.id %}" alt="{{param.id}}"/>

以上这篇Django使用HttpResponse返回图片并显示的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python入门篇之正则表达式
Oct 20 Python
Python中的包和模块实例
Nov 22 Python
Python 实现 贪吃蛇大作战 代码分享
Sep 07 Python
python使用jieba实现中文分词去停用词方法示例
Mar 11 Python
Python基于datetime或time模块分别获取当前时间戳的方法实例
Feb 19 Python
如何更优雅地写python代码
Jul 02 Python
基于Python2、Python3中reload()的不同用法介绍
Aug 12 Python
Python PyQt5模块实现窗口GUI界面代码实例
May 12 Python
django序列化时使用外键的真实值操作
Jul 15 Python
推荐值得学习的12款python-web开发框架
Aug 10 Python
python 办公自动化——基于pyqt5和openpyxl统计符合要求的名单
May 25 Python
python基于turtle绘制几何图形
Jun 15 Python
python实现最长公共子序列
May 22 #Python
使用python存储网页上的图片实例
May 22 #Python
python3模块smtplib实现发送邮件功能
May 22 #Python
Python3.x爬虫下载网页图片的实例讲解
May 22 #Python
python3使用smtplib实现发送邮件功能
May 22 #Python
python抓取网站的图片并下载到本地的方法
May 22 #Python
Python3实现的字典、列表和json对象互转功能示例
May 22 #Python
You might like
PHP 最大运行时间 max_execution_time修改方法
2010/03/08 PHP
php获取参数的几种方法总结
2014/02/18 PHP
PHP中的使用curl发送请求(GET请求和POST请求)
2017/02/08 PHP
使用laravel指定日志文件记录任意日志
2019/10/17 PHP
关于jQuery object and DOM element
2013/04/15 Javascript
详解jquery uploadify 上传文件
2013/11/09 Javascript
JS根据年月获得当月天数的实现代码
2014/07/03 Javascript
JS数组的遍历方式for循环与for...in
2014/07/31 Javascript
javascript限制用户只能输汉字中文的方法
2014/11/20 Javascript
js中document.write的那点事
2014/12/12 Javascript
javascript跨域方法、原理以及出现问题解决方法(详解)
2015/08/06 Javascript
jquery实现很酷的网页顶部图标下拉菜单效果
2015/08/22 Javascript
AngularJS入门教程之Select(选择框)详解
2016/07/27 Javascript
jQuery+ajax的资源回收处理机制分析
2017/01/07 Javascript
解决vue中无法动态修改jqgrid组件 url地址的问题
2018/03/01 Javascript
vue路由懒加载的实现方法
2018/03/12 Javascript
Node.js使用cookie保持登录的方法
2018/05/11 Javascript
React styled-components设置组件属性的方法
2018/08/07 Javascript
Vue实现本地购物车功能
2018/12/05 Javascript
Node 搭建一个静态资源服务器的实现
2019/05/20 Javascript
layer弹出层自定义提交取消按钮的例子
2019/09/10 Javascript
pycharm 使用心得(二)设置字体大小
2014/06/05 Python
使用Python对MySQL数据操作
2017/04/06 Python
PyCharm在新窗口打开项目的方法
2019/01/17 Python
python自动化UI工具发送QQ消息的实例
2019/08/27 Python
在python中创建指定大小的多维数组方式
2019/11/28 Python
Python 窗体(tkinter)下拉列表框(Combobox)实例
2020/03/04 Python
python3 sleep 延时秒 毫秒实例
2020/05/04 Python
Python判断变量是否是None写法代码实例
2020/10/09 Python
关于HTML5的安全问题开发人员需要牢记的
2012/06/21 HTML / CSS
茵宝(Umbro)英国官方商店:英国足球服装生产商
2016/12/29 全球购物
餐饮业会计岗位职责
2013/12/19 职场文书
教师党员公开承诺事项
2014/05/28 职场文书
《1942》观后感
2015/06/08 职场文书
python爬虫--selenium模块
2021/03/31 Python
解决Golang中ResponseWriter的一个坑
2021/04/27 Golang