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 异常处理实例详解
Mar 12 Python
实践Python的爬虫框架Scrapy来抓取豆瓣电影TOP250
Jan 20 Python
python基础之入门必看操作
Jul 26 Python
Python实现的弹球小游戏示例
Aug 01 Python
django表单实现下拉框的示例讲解
May 29 Python
python爬取网页转换为PDF文件
Jun 07 Python
python二维列表一维列表的互相转换实例
Jul 02 Python
python儿童学游戏编程知识点总结
Jun 03 Python
Python解析json代码实例解析
Nov 25 Python
Python基于当前时间批量创建文件
May 07 Python
python logging 重复写日志问题解决办法详解
Aug 04 Python
Python实例方法、类方法、静态方法区别详解
Sep 05 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新手上路(七)
2006/10/09 PHP
用PHP即时捕捉PHP中的错误并发送email通知的实现代码
2013/01/19 PHP
php+MySQL实现登录时验证登录名和密码是否正确
2016/05/10 PHP
PHP实现链式操作的三种方法详解
2017/11/16 PHP
PJ Blog修改-禁止复制的代码和方法
2006/10/25 Javascript
js获取html参数及向swf传递参数应用介绍
2013/02/18 Javascript
jQuery Animation实现CSS3动画示例介绍
2013/08/14 Javascript
js实现省市联动效果的简单实例
2014/02/10 Javascript
Vue.js基础知识汇总
2016/04/27 Javascript
js实现简单的计算器功能
2017/01/16 Javascript
jQuery实现获取隐藏div高度的方法示例
2017/02/09 Javascript
jQuery的三种bind/One/Live/On事件绑定使用方法
2017/02/23 Javascript
使用socket.io制做简易WEB聊天室
2018/01/02 Javascript
Angular利用内容投射向组件输入ngForOf模板的方法
2018/03/05 Javascript
微信小程序canvas实现刮刮乐效果
2018/07/09 Javascript
仿vue-cli搭建属于自己的脚手架的方法步骤
2019/04/17 Javascript
基于Vue实现的多条件筛选功能的详解(类似京东和淘宝功能)
2019/05/07 Javascript
vue实现固定位置显示功能
2019/05/30 Javascript
JS中自定义事件的使用与触发操作实例分析
2019/11/01 Javascript
[01:05:32]DOTA2上海特级锦标赛主赛事日 - 3 败者组第三轮#1COL VS Alliance第一局
2016/03/04 DOTA
[58:29]DOTA2-DPC中国联赛 正赛 Phoenix vs XG BO3 第一场 1月31日
2021/03/11 DOTA
python fabric实现远程操作和部署示例
2014/03/25 Python
在cmder下安装ipython以及环境的搭建
2018/10/19 Python
python django下载大的csv文件实现方法分析
2019/07/19 Python
Python实现随机取一个矩阵数组的某几行
2019/11/26 Python
Jupyter Notebook打开任意文件夹操作
2020/04/14 Python
3分钟看懂Python后端必须知道的Django的信号机制
2020/07/26 Python
What's the difference between deep copy and shallow copy? (深拷贝与浅拷贝有什么区别)
2015/11/10 面试题
2014年计生工作总结
2014/11/21 职场文书
2015年新农合工作总结
2015/03/30 职场文书
文明旅游倡议书
2015/04/28 职场文书
上帝也疯狂观后感
2015/06/09 职场文书
2015入党自传格式范文
2015/06/26 职场文书
使用pandas或numpy处理数据中的空值(np.isnan()/pd.isnull())
2021/05/14 Python
Python djanjo之csrf防跨站攻击实验过程
2021/05/14 Python
Redis sentinel哨兵集群的实现步骤
2022/07/15 Redis