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

yipeiwu_com6年前Python基础

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

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

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

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

我们可以在views.py中通过

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

当我们获取到图片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上传的文件方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

详解Python实现按任意键继续/退出的功能

前言 要实现该功能,需要的就是暂停程序、等待并捕捉用户的一个键盘输入,然后继续执行。Python 有内建的库能帮我们实现该功能,不过要区别对待 Windows 和 Linux。 msvc...

利用pandas读取中文数据集的方法

利用pandas读取中文数据集的方法

直接利用numpy读取非数字型的数据集时需要先进行转换,而且python3在处理中文数据方面确实比较蛋疼。最近在学习周志华老师的那本西瓜书,需要没事和一堆西瓜反复较劲,之前进行联系的时候...

python条件和循环的使用方法

前面已经介绍过几种基本语句(print,import,赋值语句),下面我们来介绍条件语句,循环语句。一. print和import的更多信息1.1 使用逗号输出A.打印多个表达式,用逗号...

实例说明Python中比较运算符的使用

实例说明Python中比较运算符的使用

下表列出了所有Python语言支持的比较操作符。假设变量a持有10和变量b持有20,则:  例如: 试试下面的例子就明白了所有的Python编程语言提供的比较操作符:...

如何在Cloud Studio上执行Python代码?

如何在Cloud Studio上执行Python代码?

1.在python文件下新建python文件,输入文件名后按Enter键生成,比如: one.py . 2.简单输入python代码: print "haha" 3.打开左下角的终端...