python全栈开发day72-django之Form组件
一、ajax
1. 复习JSON
1. JSON是什么?
一种数据格式,和语言无关的数据格式。
2. Python里面转换
1. Python对象 --> 字符串
import json
字符串 = json.dumps(对象)
2. 字符串 --> Python对象
对象 = json.loads(字符串)
3. 注意事项:
Python中的字典要用双引号。
3. JS里面转换
1. JS对象 --> 字符串
var s1 = JSON.stringify(对象)
2. 字符串 --> JS对象
var obj = JSON.parse(字符串)
3. 注意事项:
1. JS里面不支持被JSON序列化的
1. undefined
2. 时间对象
3. 函数
4. 十六进制 2. AJAX
1. 浏览器往服务端发请求的方式
1. 浏览器地址栏输入网址直接回车 --> GET
2. form表单 --> GET/POST
- form表单中必须要有submit按钮
- action属性控制着往哪里提交请求
- method属性控制着发送请求的方法(类型)
- 如果要上传文件需要设置enctype="multipart/form-data"
3. a标签 --> GET
4. ajax --> GET/POST
1. JS的技术,向服务端发送异步请求的技术
2. jQuery封装的发送ajax的方法:
$.ajax({
url: '',
type: 'post',
data: {"name": "alex", "hobby": JSON.stringify(["吃饭", "睡觉", "打豆豆"])},
success:function(res){
// res就是后端给我返回的响应内容
console.log(res)
}
})
3. Django项目中 ajax如何配置csrf_token
1. 自己找csrf_token那个input标签,把数据拼接到ajax的data中
2. jquery.cookie.js的插件,从cookie中取csrf_token值
3. 自己写一个从cookie中取值的方法,从cookie中取csrf_token值 4. 自己写一个setAjax的js插件,每次都引用一下,
本质上是从cookie中取到csrf_token的值,设置到了ajax的请求头上
4. ajax上传文件 var obj = new FormData();
obj.append("file", document.getElementById('id值').files[0])
obj.append("name", "alex") $.ajax({
url: '',
type: 'post',
data: obj,
processData: false, // 不让jQuery处理我的数据
contentType: false, // 不让jQuery处理我请求内容的类型
success:function(res){
// res就是后端给我返回的响应内容
console.log(res)
}
})
3. 补充:sweetalert的用法
ajax
二、Form组件
http://wuchengyi.com/post/15/
三、分页
https://www.cnblogs.com/liwenzhou/p/8747872.html
认证:https://www.cnblogs.com/liwenzhou/p/9030211.html
python全栈开发day72-django之Form组件的更多相关文章
- Python全栈开发:django网络框架(一)
Python的WEB框架有Django.Tornado.Flask 等多种,Django相较与其他WEB框架其优势为:大而全,框架本身集成了ORM.模型绑定.模板引擎.缓存.Session等诸多功能. ...
- Python全栈开发:django网络框架(二)
Model 到目前为止,当我们的程序涉及到数据库相关操作时,我们一般都会这么搞: 创建数据库,设计表结构和字段 使用 MySQLdb 来连接数据库,并编写数据访问层代码 业务逻辑层去调用数据访问层执行 ...
- python全栈开发中级班全程笔记(第二模块、第三章)(员工信息增删改查作业讲解)
python全栈开发中级班全程笔记 第三章:员工信息增删改查作业代码 作业要求: 员工增删改查表用代码实现一个简单的员工信息增删改查表需求: 1.支持模糊查询,(1.find name ,age fo ...
- python 全栈开发,Day99(作业讲解,DRF版本,DRF分页,DRF序列化进阶)
昨日内容回顾 1. 为什么要做前后端分离? - 前后端交给不同的人来编写,职责划分明确. - API (IOS,安卓,PC,微信小程序...) - vue.js等框架编写前端时,会比之前写jQuery ...
- python全栈开发目录
python全栈开发目录 Linux系列 python基础 前端~HTML~CSS~JavaScript~JQuery~Vue web框架们~Django~Flask~Tornado 数据库们~MyS ...
- Python全栈开发相关课程
Python全栈开发 Python入门 Python安装 Pycharm安装.激活.使用 Python基础 Python语法 Python数据类型 Python进阶 面向对象 网络编程 并发编程 数据 ...
- Python 全栈开发【第0篇】:目录
Python 全栈开发[第0篇]:目录 第一阶段:Python 开发入门 Python 全栈开发[第一篇]:计算机原理&Linux系统入门 Python 全栈开发[第二篇]:Python基 ...
- Python全栈开发【面向对象进阶】
Python全栈开发[面向对象进阶] 本节内容: isinstance(obj,cls)和issubclass(sub,super) 反射 __setattr__,__delattr__,__geta ...
- Python全栈开发【面向对象】
Python全栈开发[面向对象] 本节内容: 三大编程范式 面向对象设计与面向对象编程 类和对象 静态属性.类方法.静态方法 类组合 继承 多态 封装 三大编程范式 三大编程范式: 1.面向过程编程 ...
- Python全栈开发【模块】
Python全栈开发[模块] 本节内容: 模块介绍 time random os sys json & picle shelve XML hashlib ConfigParser loggin ...
随机推荐
- /var/run/yum.pid 已被锁定,PID 为 2925 的另一个程序正在运行
解决办法:直接在终端运行 rm -f /var/run/yum.pid 将该文件删除,然后再次运行yum.
- appium+java (六) 手机chrome浏览器操作
一.前言 早之前写过一段时间的appium for native app(即原生app脚本),但尴尬的是从未写过类似的文章,后期有时间我会陆续接着写,近一阶段有时间又把appium捡起来了,由于公司产 ...
- 获取ScrollView ListView的当前位置的百分比
找不到官方的API,就自己写了一下,下面是自己写的函数 --获取滚动层当前位置的百分比 function GetScrollViewPercent(scrollView) if scrollView ...
- Codeforces 576E Painting Edges [分治,并查集]
洛谷 Codeforces 建议阅读这篇博客作为预备.无耻地打广告 思路 与bzoj4025很相似,思路也差不多,可以看上面那篇博客. 仍然是用二分图的充要条件:没有奇环. 然而这题难在每条边的存在时 ...
- java+appium 自动化环境搭建
1.安装JDK1.7及以上 2.下载解压sdk并且配置环境变量: ANDROID_HOME:...\adt-bundle-windows-x86_64-20140702\sdk PATH:%ANDRO ...
- ORACL内部异常:
ORACL内部异常: ORA-00001: 违反唯一约束条件 (.) ORA-00017: 请求会话以设置跟踪事件 ORA-00018: 超出最大会话数 ORA-00019: 超出最大会话许可数 OR ...
- Ehcache
前言:设计一套缓存框架需要关注的要素 本文来源:RayChase 的<设计一套缓存框架需要关注的要素> 最近关注了一些缓存框架的特性和实现,包括OSCache.JCS.Ehcache.M ...
- Confluence 6 配置服务器基础地址备注
使用不同 URL.如果你配置了不同的基础 URL 地址或者你站点的访问者使用了不同的 URL 地址来访问你的 Confluence 地址,你有很大概率可能会受到错误信息. 修改上下文地址.如果你修改了 ...
- Confluence 6 整合到支持的附件存储选项
如果你现在正在存储附件到 WebDav 或者你的数据库中.你可以整合附件的存储到文件系统中.当你的附件从数据库中被合并到文件系统后,你存储在数据库中的附件数据就可以从数据库中删除了. 当附件合并进行的 ...
- this作用范围
1. this的指向 var name='window';var obj={ name:'obj', say:function(){ return function(){ return this.na ...