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删除nginx缓存文件示例(python文件操作)
Mar 26 Python
详解python如何调用C/C++底层库与互相传值
Aug 10 Python
Python Selenium Cookie 绕过验证码实现登录示例代码
Apr 10 Python
Python开启线程,在函数中开线程的实例
Feb 22 Python
python写入数据到csv或xlsx文件的3种方法
Aug 23 Python
基于python的列表list和集合set操作
Nov 24 Python
python飞机大战pygame碰撞检测实现方法分析
Dec 17 Python
简单了解Python读取大文件代码实例
Dec 18 Python
解决Ubuntu18中的pycharm不能调用tensorflow-gpu的问题
Sep 17 Python
Pycharm编辑器功能之代码折叠效果的实现代码
Oct 15 Python
Python破解极验滑动验证码详细步骤
May 21 Python
Django实现聊天机器人
May 31 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翻页类
2009/06/01 PHP
PHP explode()函数用法、切分字符串
2012/10/03 PHP
深入掌握include_once与require_once的区别
2013/06/17 PHP
php中array_slice和array_splice函数解析
2016/10/18 PHP
thinkPHP实现多字段模糊匹配查询的方法
2016/12/01 PHP
jquery插件之easing使用
2010/08/19 Javascript
如何实现textarea里的不同文本显示不同颜色
2014/01/20 Javascript
js校验表单后提交表单的三种方法总结
2014/02/28 Javascript
网站基于flash实现的Banner图切换效果代码
2014/10/14 Javascript
轻松创建nodejs服务器(2):nodejs服务器的构成分析
2014/12/18 NodeJs
借助FileReader实现将文件编码为Base64后通过AJAX上传
2015/12/24 Javascript
javascript检查某个元素在数组中的索引值
2016/03/30 Javascript
js 创建对象 经典模式全面了解
2016/08/16 Javascript
Angular2学习笔记——详解NgModule模块
2016/12/02 Javascript
JS+Canvas实现的俄罗斯方块游戏完整实例
2016/12/12 Javascript
Vue学习笔记进阶篇之多元素及多组件过渡
2017/07/19 Javascript
解决jquery appaend元素中id绑定事件失效的问题
2017/09/12 jQuery
微信小程序 页面滑动事件的实例详解
2017/10/12 Javascript
解决vue-cli3 使用子目录部署问题
2018/07/19 Javascript
解决layer.confirm选择完之后消息框不消失的问题
2019/09/16 Javascript
Servlet返回的数据js解析2种方法
2019/12/12 Javascript
JS面向对象编程实现的拖拽功能案例详解
2020/03/03 Javascript
[02:30]DOTA2放量测试专访海涛:呼吁保护新手玩家
2013/08/26 DOTA
实例讲解Python中的私有属性
2014/08/21 Python
python3+PyQt5图形项的自定义和交互 python3实现page Designer应用程序
2020/07/20 Python
python读取有密码的zip压缩文件实例
2019/02/08 Python
Python如何把多个PDF文件合并代码实例
2020/02/13 Python
python怎么对数字进行过滤
2020/07/05 Python
利用CSS3实现毛玻璃效果示例源码
2016/09/25 HTML / CSS
一百多行代码实现react拖拽hooks
2021/03/23 Javascript
《鸟的天堂》教学反思
2014/02/27 职场文书
政治学专业毕业生求职信
2014/08/11 职场文书
2015年助残日活动总结
2015/03/27 职场文书
交通安全宣传标语(100条)
2019/08/22 职场文书
深入浅析React中diff算法
2021/05/19 Javascript
redis中lua脚本使用教程
2021/11/01 Redis