一、form表单的形式上传文件

1、路由

urlpatterns = [
path("upload/", views.UploadView.as_view(),)
]

  

2、视图

from django.views import View

class UploadView(View):

    def get(self,reqeust):
return render(reqeust,"index.html") #get请求时,返回一个HTML页面 def post(self,reqeust):
put_file = reqeust.FILES.get("put_file") #上传文件的post请求时,获取文件内容-->putfile
print(put_file.name) #打印文件名 with open(put_file.name,"wb") as f: #将文件内容写入到文件中保存
for line in put_file:
f.write(line) return HttpResponse("上传成功!") #返回结果提示

  

3、模板index.html

<h3>基于form表单的文件上传</h3>

<form action="/upload/" method="post" enctype="multipart/form-data">
<input type="file" name="put_file">
<input type="submit">
</form> {#提交文件时,必须设置为这个参数:enctype="multipart/form-data"#}

二、Ajax的形式上传文件

1、后端代码和form表单上传的形式一样

2、前端代码:

<h3>基于Ajax的文件上传</h3>
<div>
<input type="file" class="put_file">
<input type="button" value="提交" class="btn">
<span class="tip"></span> {# 上传成功后的提示信息显示位置 #}
</div> <script>
//提交按钮的点击事件
$(".btn").click(function () { //定义一个变量formdata,作为要发送的数据
var formdata = new FormData(); //将formdata组成键值对的形式,put_file=$(".put_file")[0].files[0],也就是:key=value,value是文件的内容
formdata.append("put_file",$(".put_file")[0].files[0]); $.ajax({
url:"/upload/",
type:"post",
data:formdata, //要发送的数据,为上面准好的 --> formdata
contentType:false,
processData:false,
success:function (res) {
$(".tip").html(res); //显示上传成功后的提示信息
}
})
})
</script>

利用Django实现文件上传的更多相关文章

  1. Java 利用SWFUpload多文件上传 session 为空失效,不能验证的问题 swfUpload多文件上传

    Java 利用SWFUpload多文件上传 session 为空失效,不能验证的问题(转) 我们都知道普通的文件上传是通过表单进行文件上传的,还不能达到异步上传的目的.通过使用某些技术手段,比如jqu ...

  2. python Django之文件上传

    python Django之文件上传 使用Django框架进行文件上传共分为俩种方式 一.方式一 通过form表单进行文件上传 #=================================== ...

  3. day56:django:csrf_token&文件上传

    目录 1.csrf介绍 2.django实现csrf_token认证 3.django实现文件上传 csrf介绍 什么是csrf? csrf:跨站请求伪造.攻击者通过HTTP请求将数据传送到服务器,从 ...

  4. Azure Terraform(十二)利用 Terraform 将文件上传到 Azure Blob Storage

    一,引言 本篇文章中,我门将学习如何利用 Terraform 将 文件以及文件夹上传到 Azure Blob Storage,这个对于我们来说很方便,可以将一些不重要的内容也存储在源代码管理工具中! ...

  5. Django普通文件上传

    前端代码: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF ...

  6. Django(十七)文件上传

    http://www.cnblogs.com/wupeiqi/articles/5703697.html - 文件上传        - 普通上传        - 自定义页面上传按钮        ...

  7. selenium+java利用AutoIT实现文件上传

    转自https://www.cnblogs.com/yunman/p/7112882.html?utm_source=itdadao&utm_medium=referral 1.AutoIT介 ...

  8. 框架----Django之文件上传

    一.文件上传 1. 浏览器访问 http://127.0.0.1:8000/f1/ http://127.0.0.1:8000/f2/ 2. urls from django.conf.urls im ...

  9. Django的文件上传以及预览、存储

    思路: 文件上传通过前端的input标签,input设置display:none属性. 内容显示需要让前端通过<img>标签读取图片内容,可以通过<label>标签连接< ...

  10. Angular14 利用Angular2实现文件上传的前端、利用springBoot实现文件上传的后台、跨域问题

    一.angular2实现文件上传前端 Angular2使用ng2-file-upload上传文件,Angular2中有两个比较好用的上传文件的第三方库,一个是ng2-file-upload,一个是ng ...

随机推荐

  1. 阿里开源的32B大模型到底强在哪里?

    阿里巴巴最近开源了一个320亿参数的大语言模型Qwen1.5-32B,网上都说很强很强,那么它到底强在哪里呢? 更高的性价比 Qwen1.5-32B中的B是billion的意思,也就是10亿,32B就 ...

  2. 第十七篇:Django入门

    一.模板 二.BootStrap使用 三.web框架简绍 四.Django使用 五.创建APP 六.APP各目录功能 七.静态文件处理 八.模板语言 九.请求过程

  3. Linux CentOs6.4 静态IP 设置

    Linux CentOs6.4 静态IP 设置 分类: IT技术 2013-04-07 09:20  2330人阅读  评论(1)  收藏  举报 To do that, just log on as ...

  4. 力扣607(MySQL)-销售员(简单)

    题目: 表: SalesPerson 表: Company 表: Orders 编写一个SQL查询,报告没有任何与名为 "RED" 的公司相关的订单的所有销售人员的姓名. 以 任意 ...

  5. 力扣580(MySQL)-统计各专业人数(中等)

    题目: 一所大学有 2 个数据表,分别是 student 和 department ,这两个表保存着每个专业的学生数据和院系数据. 写一个查询语句,查询 department 表中每个专业的学生人数 ...

  6. 平台建设的7大问题:蚂蚁AI平台实践深度总结

    简介: 在支持蚂蚁几乎所有核心业务运行和发展的过程中,我们在平台建设.业务支持.平台运营.AI创新以及AI整体运营等各个方面做了很多尝试,有了不少的收获和感悟,在此分享给大家. 过去几年,我和团队一直 ...

  7. EventBridge消息路由|高效构建消息路由能力

    ​简介:企业数字化转型过程中,天然会遇到消息路由,异地多活,协议适配,消息备份等场景.本篇主要通过 EventBridge 消息路由的应用场景和应用实验介绍,帮助大家了解如何通过 EventBridg ...

  8. 技术干货 | 应用性能提升 70%,探究 mPaaS 全链路压测的实现原理和实施路径

    ​简介: 全链路压测方案下,非加密场景下至少有 70% 的性能提升,加密场景下 10%的性能提升,并在 MGS 扩容完成后可实现大幅的性能提升,调优的结果远超预期. ​ 业务背景 随着移动开发行业的步 ...

  9. [Contract] web3.eth.getAccounts, web3.eth.getCoinbase 使用场景区别

    web3.eth.getAccounts() 返回节点控制的账号列表(Promise returns Array) web3.eth.getCoinbase() 返回挖矿奖励所归集的地址(Promis ...

  10. LVGL学习资料

    一.资料整理 官网:https://lvgl.io/ 使用手册: 官方的使用手册是英文版的,百问网将其翻译成中文版的文档.地址如下: 官方使用文档:https://docs.lvgl.io/maste ...