当前位置: 首页 > news >正文

python接收前端post数据_Django后台获取前端post上传的文件方法

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

d6607133c38a46262c8edcfe3c3f2627.png

注意在

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

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

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

3a388b22f0574f6f17eb83d0bdf10d23.png

我们可以在views.py中通过

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

2b05a2069c67aedba2b8aa65b7f8e609.png

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

image.name 获取到图片的名字

image.size获取到图片的大小

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

通过

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

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

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

7d2b4c892a884594650dda1b9447f291.png

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

0648452c5dbb9f6bb07655f706c079c5.png

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

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

相关文章:

  • 水经注叠加cad_如何下载矢量格式的CAD等高线
  • JAVA特级_java高级特性-更新版本
  • java字符插入_Java程序练习-字符串插入
  • java 构造 super_java – 在构造函数中的super()
  • java 反射的实现原理图_java反射机制的实现原理
  • java 文件读取 逗号分隔_如何从Java中的文本文件中读取逗号分隔值?
  • java求导数_JAVA实现表达式求导运算的分析总结
  • java模拟登陆系统_Java模拟登录系统抓取内容【转载】
  • java httppost https_JAVA利用HttpClient进行POST请求(HTTPS)
  • acs java_ACS 4.2 安装图解
  • java nio nio2 区别_BIO、NIO与NIO.2的区别与联系
  • java 字节码分析_java字节码文件分析
  • java的反射注解_Java中的注解和反射
  • mfc将mysql查询结果取出_笔记-mysql 导出查询结果
  • mysql数据库中的各种约束_数据库Mysql的学习(三)-各种约束
  • [笔记] php常见简单功能及函数
  • Angular 响应式表单之下拉框
  • CSS实用技巧干货
  • ECS应用管理最佳实践
  • flutter的key在widget list的作用以及必要性
  • Idea+maven+scala构建包并在spark on yarn 运行
  • Java面向对象及其三大特征
  • leetcode讲解--894. All Possible Full Binary Trees
  • 漂亮刷新控件-iOS
  • 使用SAX解析XML
  • 使用Tinker来调试Laravel应用程序的数据以及使用Tinker一些总结
  • 消息队列系列二(IOT中消息队列的应用)
  • Nginx惊现漏洞 百万网站面临“拖库”风险
  • 说说我为什么看好Spring Cloud Alibaba
  • (2)(2.4) TerraRanger Tower/Tower EVO(360度)
  • (pytorch进阶之路)扩散概率模型
  • (ZT)薛涌:谈贫说富
  • (附源码)springboot学生选课系统 毕业设计 612555
  • (附源码)springboot猪场管理系统 毕业设计 160901
  • (附源码)ssm捐赠救助系统 毕业设计 060945
  • (蓝桥杯每日一题)love
  • (论文阅读26/100)Weakly-supervised learning with convolutional neural networks
  • (七)MySQL是如何将LRU链表的使用性能优化到极致的?
  • (三)c52学习之旅-点亮LED灯
  • (深度全面解析)ChatGPT的重大更新给创业者带来了哪些红利机会
  • (十一)图像的罗伯特梯度锐化
  • (转)利用PHP的debug_backtrace函数,实现PHP文件权限管理、动态加载 【反射】...
  • (最全解法)输入一个整数,输出该数二进制表示中1的个数。
  • .NET/C# 避免调试器不小心提前计算本应延迟计算的值
  • .NET/C# 使用 SpanT 为字符串处理提升性能
  • .NET企业级应用架构设计系列之结尾篇
  • .NET使用存储过程实现对数据库的增删改查
  • @CacheInvalidate(name = “xxx“, key = “#results.![a+b]“,multi = true)是什么意思
  • @zabbix数据库历史与趋势数据占用优化(mysql存储查询)
  • [AIGC] Redis基础命令集详细介绍
  • [AX]AX2012开发新特性-禁止表或者表字段
  • [BUG] Hadoop-3.3.4集群yarn管理页面子队列不显示任务
  • [BZOJ2850]巧克力王国
  • [CISCN 2019华东南]Web11
  • [codeforces] 25E Test || hash