formdata

Django的日常-AJAX

余生长醉 提交于 2019-12-02 16:36:19
目录 Django的日常-AJAX AJAX简介 AJAX与JQ的一个实例 AJAX与contentType AJAX传json格式 AJAX传文件 Django的日常-AJAX AJAX简介 首先AJAX是一种无需重新加载整个网页的前提下,能够更新部分网页的技术,他并不是一种新的编程语言,而是一种使用现有标准的新方法,是基于原生JavaScript开发的,他可以用于创建快速动态网页. AJAX最大的特点就是局部刷新以及异步提交,局部刷新,顾名思义就是可以在不刷新整个页面的情况下局部刷新,而异步提交就是提交任务之后不需要原地等待任务的返回值,可以继续向下运行,之后通过回调函数来接收到之前提交任务的返回值,效率非常高. 本文并不是从JS来对AJAX做说明,而是从一个相对简单的角度,结合AJAX和jQuery的用法,可以大大简化AJAX本身的代码量,并实现更多的功能,下面我们通过一个实例来说明AJAX和jQuery结合的具体用法. AJAX与JQ的一个实例 题目如下:写一个前端页面,页面上有两个输入框,在第一个输入框里面输入一个计算式,在第二个输入框里面显示其结果,注意,页面不可以刷新,即不能通过直接赋值刷新页面的方式来做,现在我们就回忆一下怎样从零开始创建一个Django项目,然后一步一步完成这个需求 # 首先,创建一个Django项目,注意,目录名不要带中文

day61

不想你离开。 提交于 2019-12-02 16:28:01
choice参数 class Userinfo(models.Model): username = models.CharField(max_length=32) choices = ( (1,'male'), (2,'female'), (3,'others') ) gender = models.IntegerField('性别',choices=choices) # 针对choices字段 如果你想要获取数字所对应的中文 你不能直接点字段 # 固定句式 数据对象.get_字段名_display() 当没有对应关系的时候 该句式 获取到的还是数字 print(user_obj.gender) # 1 print(user_obj.get_gender_display()) # male MTV与MVC模型 ​ django号称是MTV框架,其实他还是MVC框架 ​ MTV: ​ M:models ​ T: templates ​ V: views ​ MVC: ​ M:models ​ V: views ​ C: contronner(路由匹配) ajax:异步提交 ​ 同步异步:描述的任务的提交方式 ​ 同步:提交任务之后 原地等待任务的返回结果 期间不干任何事儿 ​ 异步:提交任务之后 不愿地等待 直接执行下一行代码 任务的返回通过回调机制 ​ 阻塞非阻塞:程序的运行状态

AJAX

爱⌒轻易说出口 提交于 2019-12-02 16:09:20
choice参数 用户性别 用户学历 用户工作状态 客户来源 ... class Userinfo(models.Model): username = models.CharField(max_length=32) password = models.IntegerField(default=123) choices = ( (1,'male'), (2,'female'), (3,'others') ) gender = models.IntegerField(choices=choices) """ 1.如果我存的是上面元组中数字会怎么样 2.如果我存的数字不在元组范围内又会怎样 1.数字没有对应关系 是可以存的 2.不在范围内也会显示,但无意于 """ if __name__ == "__main__": os.environ.setdefault("DJANGO_SETTINGS_MODULE", "day62.settings") import django django.setup() from app01 import models user_obj = models.Userinfo.objects.filter(pk=4).first() print(user_obj.username) print(user_obj.gender) # 针对choices字段

js实现大文件分片上传的方法

亡梦爱人 提交于 2019-12-02 15:38:16
文件夹上传:从前端到后端 文件上传是 Web 开发肯定会碰到的问题,而文件夹上传则更加难缠。网上关于文件夹上传的资料多集中在前端,缺少对于后端的关注,然后讲某个后端框架文件上传的文章又不会涉及文件夹。今天研究了一下这个问题,在此记录。 先说两个问题: 是否所有后端框架都支持文件夹上传? 是否所有浏览器都支持文件夹上传? 第一个问题:YES,第二个问题:NO 只要后端框架对于表单的支持是完整的,那么必然支持文件夹上传。至于浏览器,截至目前,只有 Chrome 支持。 如果需要其它的浏览器支持则需要借助于插件,比如泽优大文件上传控件: www.webuploader.net 关于WebUploader的功能说明: 大文件上传续传 支持超大文件上传(100G+)和续传,可以关闭浏览器,重启系统后仍然继续上传。 开源 提供ASP.NET,JSP,PHP示例和源代码,其中JSP提供MySQL,Oracle,SQL Server数据库的配置和示例代码。 分片、并发 分片与并发结合,将一个大文件分割成多块,并发上传,极大地提高大文件的上传速度。 当网络问题导致传输错误时,只需要重传出错分片,而不是整个文件。另外分片传输能够更加实时的跟踪上传进度。 预览、压缩 支持常用图片格式jpg,jpeg,gif,bmp,png预览与压缩,节省网络数据传输。 解析jpeg中的meta信息

vue 验证码倒计时60s

一世执手 提交于 2019-12-02 11:59:46
//html < div class = "input-div" v-show = "formData.phone" > < input type = "text" class = "input code" name = "code" v-model.trim = "formData.code" placeholder = "验证码" > < button @ click = "getCode(formData)" class = "code-btn" :disabled = "!show" > < span v-show = "show" > 获取验证码 </ span > < span v-show = "!show" class = "count" > {{ count }} s </ span > </ button > </ div > //js const TIME_COUNT = 60 ; data(){ return { formData: { phone: '' , code: '' , }, show: true , count : '' , timer: null , } }, methods:{ getCode(formData){ if (! this .timer) { this . count = TIME_COUNT; this .show =

Html5实现文件拖拽上传功能

删除回忆录丶 提交于 2019-12-02 11:14:10
本文转载于: 猿2048 网站➼ Html5实现文件拖拽上传功能 下面主要介绍从浏览器外拖拽文件到浏览器进行上传的实现。 首先会介绍一些必须的基础。 拖拽事件 拖拽事件有下面这些: dragstart:当用户开始拖动对象时触发。 dragenter: 当鼠标第一次经过目标元素,且有拖动发生时触发。此事件的监听者应指明在这个位置上是否允许drop,或者监听者不执行任何操作,那么drop默认是不允许的。 dragover:当鼠标经过一个元素时,且有拖动发生时触发 。 dragleave:当鼠标离开一个元素,且有拖动在发生时触发。 drag: 当对象被拖动,每次移动鼠标时触发。 drop:在drag操作的最后发生drop时,在元素上触发此事件。监听者应该负责检索拖动的数据,并插入drop的位置。 dragend: 在拖动对象时放开鼠标按键时触发。 从浏览器外拖拽文件到浏览器时,必须要绑定的事件有 dragover 和 drop,其他的都可以不绑定。dragover 和drop 事件的处理函数内必须调用事件的 preventDefault() 函数,要不然浏览器会进行默认处理,比如文本类型的文件直接打开,非文本的可能弹出一个下载文件框。 DataTransfer对象 拖拽对象用来传递数据的媒介,通过拖拽事件的 event.dataTransfer 获取。 dataTransfer

JS FormData 文件异步提交

拟墨画扇 提交于 2019-12-02 10:41:06
html <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title> new document </title> <meta charset="utf-8"> <meta name="generator" content="editplus" /> <meta name="author" content="" /> <meta name="keywords" content="" /> <meta name="description" content="" /> </head> <body> <form id="form1" enctype="multipart/form-data"> 姓  名:<input class="input1" id="name" name="name" type="text" maxlength="20" placeholder="" value="" /><font color="red"> *</font><br/> 职  位:<input class

thinkphp5.1 Excel 文件上传(1)

做~自己de王妃 提交于 2019-12-02 09:09:55
1. 下载扩展包: composer require phpoffice/phpspreadsheet 2. html 页面 {include file="public/meta" /} <article class="page-container"> <form class="form form-horizontal" id="myform" enctype="multipart/form-data"> <div class="row cl" style="margin-bottom: 60px"> <label class="form-label col-xs-4 col-sm-3"><span class="c-red">*</span> 单文件上传:</label> <div class="formControls col-xs-8 col-sm-9 skin-minimal"> <input class="amend-logo-img-choose-file" type="file" name="file" id=""> </div> </div> <hr> <div class="row cl" style="margin-top: 60px"> <label class="form-label col-xs-4 col-sm-3"><span class="c-red

(转)Ajax_XMLHttpRequest Level 2

橙三吉。 提交于 2019-12-02 06:47:06
XMLHttpRequest 是一个浏览器接口,使得 Javascript 可以进行 HTTP (S) 通信。   最早,微软在 IE 5 引进了这个接口。因为它太有用,其他浏览器也模仿部署了,ajax 操作因此得以诞生。   但是,这个接口一直没有标准化,每家浏览器的实现或多或少有点不同。HTML 5 的概念形成后,W3C 开始考虑标准化这个接口。2008年 2 月,就提出了 XMLHttpRequest Level 2 草案。   这个 XMLHttpRequest 的新版本,提出了很多有用的新功能,将大大推动互联网革新。本文就对这个新版本进行详细介绍。    一、老版本的 XMLHttpRequest 对象   在介绍新版本之前,我们先回顾一下老版本的用法。   首先,新建一个 XMLHttpRequest 的实例。 var xhr = new XMLHttpRequest ();   然后,向远程主机发出一个 HTTP 请求。 xhr.open ('GET', 'example.php' ); xhr.send ();   接着,就等待远程主机做出回应。这时需要监控 XMLHttpRequest 对象的状态变化,指定回调函数。 xhr.onreadystatechange = function (){ if ( xhr.readyState == 4 && xhr

通过Ajax方式上传文件,使用FormData进行Ajax请求

社会主义新天地 提交于 2019-12-02 06:46:54
通过传统的form表单提交的方式上传文件: Html代码 <form id= "uploadForm" action= "http://localhost:8080/cfJAX_RS/rest/file/upload" method= "post" enctype ="multipart/form-data"> <h1 >测试通过Rest接口上传文件 </h1> <p >指定文件名: <input type ="text" name="filename" /></p> <p >上传文件: <input type ="file" name="file" /></p> <p >关键字1: <input type ="text" name="keyword" /></p> <p >关键字2: <input type ="text" name="keyword" /></p> <p >关键字3: <input type ="text" name="keyword" /></p> <input type ="submit" value="上传"/> </form> 不过传统的form表单提交会导致页面刷新,但是在有些情况下,我们不希望页面被刷新,这种时候我们都是使用Ajax的方式进行请求的: Js代码 $.ajax({ url : "http://localhost:8080/STS