Django后台获取前端post上传的文件方法


Posted in Python onMay 28, 2018

由于初学Django所以对于其特有的表单模板和models中的filefiled并不是特别熟悉。因此在本次开发中还是依照以往自己在html中写好图片提交表单:

Django后台获取前端post上传的文件方法

注意在<form>表单的定义中一定要加上enctype= “multipart/form-data"属性,否则后台可能会取不到文件。

在form表单后一定要有{% csrf_token %}

我们在控制页面可以看到,当我们通过这样的表单进行提交后,FILES一栏中会有一个文件。

Django后台获取前端post上传的文件方法

我们可以在views.py中通过

image=request.FILES.get('images')去获取到该图片

Django后台获取前端post上传的文件方法

当我们获取到图片img后,可以通过

image.name 获取到图片的名字

image.size获取到图片的大小

image.read()可以获取图片内容

通过

path=default_storage.save(路径,ContentFile(image.read()))

tmp_file = os.path.join(settings.MEDIA_ROOT,path)

及可以把图片从缓存中保存到相应路径下

Django后台获取前端post上传的文件方法

我们可以看到很上传的额图片已经直接能够保存在设置的目录当中了

Django后台获取前端post上传的文件方法

最后再将对应的路径放入数据库中,就可以完成引用了。

以上这篇Django后台获取前端post上传的文件方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python的一些用法分享
Oct 07 Python
Python自动扫雷实现方法
Jul 25 Python
Python3实现Web网页图片下载
Jan 28 Python
python+Django+apache的配置方法详解
Jun 01 Python
Python单元测试实例详解
May 25 Python
python 移除字符串尾部的数字方法
Jul 17 Python
pandas数据筛选和csv操作的实现方法
Jul 02 Python
Python 图像对比度增强的几种方法(小结)
Sep 25 Python
Python计算不规则图形面积算法实现解析
Nov 22 Python
Pandas实现一列数据分隔为两列
May 18 Python
Pycharm的Available Packages为空的解决方法
Sep 18 Python
pandas数据分组groupby()和统计函数agg()的使用
Mar 04 Python
基于Django URL传参 FORM表单传数据 get post的用法实例
May 28 #Python
浅析Python装饰器以及装饰器模式
May 28 #Python
Python装饰器知识点补充
May 28 #Python
更换Django默认的模板引擎为jinja2的实现方法
May 28 #Python
django manage.py扩展自定义命令方法
May 27 #Python
python实现windows下文件备份脚本
May 27 #Python
django 解决manage.py migrate无效的问题
May 27 #Python
You might like
最令PHP初学者们头痛的十四个问题
2007/01/15 PHP
PHP中array_merge和array相加的区别分析
2013/06/17 PHP
使用swoole扩展php websocket示例
2014/02/13 PHP
WordPress中设置Post Type自定义文章类型的实例教程
2016/05/10 PHP
PHP弱类型语言中类型判断操作实例详解
2017/08/10 PHP
判断多个元素(RADIO,CHECKBOX等)是否被选择的原理说明
2009/02/18 Javascript
JavaScript的parseInt 进制问题
2009/05/07 Javascript
通过AJAX的JS、JQuery两种方式解析XML示例介绍
2013/09/23 Javascript
屏蔽IE弹出&quot;您查看的网页正在试图关闭窗口,是否关闭此窗口&quot;的方法
2013/12/31 Javascript
window.open()详解及浏览器兼容性问题示例探讨
2014/05/29 Javascript
Bootstrap基础学习
2015/06/16 Javascript
jQuery 遍历函数详解
2015/07/05 Javascript
浅析JS原型继承与类的继承
2016/04/07 Javascript
javascript日期比较方法实例分析
2016/06/17 Javascript
Vue.js基础学习之class与样式绑定
2017/03/20 Javascript
webpack配置的最佳实践分享
2017/04/21 Javascript
Angular 4.x中表单Reactive Forms详解
2017/04/25 Javascript
详解JavaScript数组过滤相同元素的5种方法
2017/05/23 Javascript
vue2.0设置proxyTable使用axios进行跨域请求的方法
2017/10/19 Javascript
原生js实现each方法实例代码详解
2019/05/27 Javascript
Vue2.X和Vue3.0数据响应原理变化的区别
2019/11/07 Javascript
jQuery带控制按钮轮播图插件
2020/07/31 jQuery
vue动态合并单元格并添加小计合计功能示例
2020/11/26 Vue.js
使用Py2Exe for Python3创建自己的exe程序示例
2018/10/31 Python
python 轮询执行某函数的2种方式
2020/05/03 Python
HTML5实现锚点时请使用id取代name
2013/09/06 HTML / CSS
乐高西班牙官方商店:LEGO Shop ES
2019/12/01 全球购物
GWebs公司笔试题
2012/05/04 面试题
会计职业生涯规划书
2014/01/13 职场文书
秋冬农业生产标语
2014/10/09 职场文书
部队2014年终工作总结
2014/11/27 职场文书
社会实践活动总结格式
2015/05/11 职场文书
2019年第四季度财务部门工作计划
2019/11/02 职场文书
两行代码解决Jupyter Notebook中文不能显示的问题
2021/04/24 Python
Python数据可视化之绘制柱状图和条形图
2021/05/25 Python
python中的装饰器该如何使用
2021/06/18 Python