一、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. MindSpore自动微分小技巧

    技术背景 基于链式法则的自动微分技术,是大多数深度学习框架中所支持的核心功能,旨在更加快速的进行梯度计算,并且可以绕开符号微分的表达式爆炸问题和手动微分的困难推导问题.本文主要基于MindSpore框 ...

  2. DevEco Studio强大的预览功能让开发效率大大提升!

    原文:https://mp.weixin.qq.com/s/C5DL0wBubDX3exvPpeXBPQ,点击链接查看更多技术内容.   应用的开发过程中,往往需要多次调试和修改,如果支持实时预览,边 ...

  3. HarmonyOS Connect FAQ第四期

    原文:https://mp.weixin.qq.com/s/bvaV086QTnpnDFyYAVxQwQ,点击链接查看更多技术内容.在HarmonyOS Connect生态产品的认证测试环节,你是否存 ...

  4. 重学c#系列——linq(4) [三十]

    前言 简单介绍一下linq 查询表达式. 正文 上文其实已经介绍了查询表达式了. 但是呢,这里就介绍一些复杂一点的. 这里不会去介绍查询表达式,而是直接介绍一些复杂的. let 字句. static ...

  5. sql 语句系列(列举非索引外键)[八百章之第九章]

    列举非索引外键 列举出那些外键没有添加索引. 目的: 1.减少锁. 2.外键添加索引,提示了查询性能,因为要与父表做连接查询做笛卡尔积. 下面只要会复制即可,没有会去从新写一遍的. select fk ...

  6. css block,inline和inline-block概念和区别

    总体概念 block和inline这两个概念是简略的说法,完整确切的说应该是 block-level elements (块级元素) 和 inline elements (内联元素).block元素通 ...

  7. 重新整理数据结构与算法(c#)—— 二叉树排序树[二十二]

    前言 什么是二叉堆排序呢? 就是上面这种,一个节点大于左节点,但是小于右节点,再我写的例子中会写出大于等于右节点. 那么如何让一个数组进行变成这种二叉树呢? 其实只要有规律就很简单. 第一个元素(0) ...

  8. 从LLaMA-Factory项目认识微调

    概述 什么是LLaMA-Factory? LLaMA-Factory是一个在github上开源的,专为大模型训练设计的平台.项目提供中文说明,可以参考官方文档:https://github.com/h ...

  9. http json请求工具类

    import java.io.InputStream; import java.net.URL; import java.net.URLConnection; import java.util.Sca ...

  10. 微信小程序三种授权登录的方式

    经过一段时间对微信小程序的研发后 总结出以下三种授权登录的方式,我给他们命名为'一次性授权''永久授权''不授权' 1.一次性授权常规写法,需要获取用户公开信息(头像,昵称等)时,判断调取授权登录接口 ...