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 ...
随机推荐
- 专题2:最长上升子序列LIS
A HDU 1025 Constructing Roads In JGShining's Kingdom B POJ 3903 Stock Exchange C OpenJ_B ...
- Vue 指令篇 案例(输入提交显示 提交数据_列表)
一.文本操作指令 //1.v-text <p v-text="msg"></p> 等价于 <p>{{msg}}</p> //2.v- ...
- 配置percona mysql server 5.7基于gtid主主复制架构
配置mysql基于gtid主主复制架构 环境: 操作系统 centos7. x86_64 mysql版本:Percona-Server-- 测试环境: node1 10.11.0.210 node2 ...
- CentOS7安装和配置MySQL
1. 下载MySQL Yum Repository http://dev.mysql.com/downloads/repo/yum/ 2. 本地安装MySQL Yum Repository s ...
- 10)django-ORM(创建,字段类型,字段参数)
一:ORM关系对象映射(Object Relational Mapping,简称ORM) ORM分两种: DB first 先在数据库中创建数据库表等 Code first 先创建类,然后根据类创建数 ...
- C# 将Excel转换为PDF
C# 将Excel转换为PDF 转换场景 将Excel转换为PDF是一个很常用的功能,常见的转换场景有以下三种: 转换整个Excel文档到PDF转换Excel文档的某一个工作表到PDF转换Excel文 ...
- Confluence 6 禁用管理员联系表单
如果你希望禁用这个功能,不允许用户通过发送电子邮件的方式联系站点管理员.你可以禁用这个页面中有关输入用户信息发送电子邮件的部分.你只能禁用用户电子邮件输入表单,如果你按照上面描述的步骤在 'Custo ...
- PHP之十六个魔术方法
1.__construct,__destruct__constuct构建对象的时被调用:__destruct明确销毁对象或脚本结束时被调用:2.__get,__set__set当给不可访问或不存在属性 ...
- python并发编程之多进程1-----------互斥锁与进程间的通信
一.互斥锁 进程之间数据隔离,但是共享一套文件系统,因而可以通过文件来实现进程直接的通信,但问题是必须自己加锁处理. 注意:加锁的目的是为了保证多个进程修改同一块数据时,同一时间只能有一个修改,即串行 ...
- 新增 修改,对xx名字或者其他属性做校验判断是否存在
需求描述:页面输入完xxName和xx编码,点击提交,根据两项内容做重复校验(就是看看数据库里有木有相同的) 解决思路:把这两个东西作为查询条件去查,查到有记录,提示已存在,就不执行新增或者修改操作. ...