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 ...
随机推荐
- hibernate框架学习之二级缓存
缓存的意义 l应用程序中使用的数据均保存在永久性存储介质之上,当应用程序需要使用数据时,从永久介质上进行获取.缓存是介于应用程序与永久性存储介质之间的一块数据存储区域.利用缓存,应用程序可以将使用的数 ...
- in exists
区别及应用场景 in 和 exists的区别: 如果子查询得出的结果集记录较少,主查询中的表较大且又有索引时应该用in, 反之如果外层的主查询记录较少,子查询中的表大,又有索引时使用exists.其实 ...
- springboot 文件上传大小配置
转自:https://blog.csdn.net/shi0299/article/details/69525848 springboot上传文件大小的配置有两种,一种是设置在配置文件里只有两行代码,一 ...
- ubuntu安装jdk8
文章连接:https://www.cnblogs.com/lighten/p/6105463.html 1.简单的安装方法 安装JDK的最简单方法应该就是使用apt-get来安装了,但是源一般是Ope ...
- centos7搭建smb服务
1 yum install samba samba-client samba-common -y 安装smb服务 2 cp -a /etc/samba/smb.conf /etc/samba/sm ...
- 创建表空间、新增用户、给用户赋予DBA权限 、删除用户下的上有数据表
正文原创 一:查询数据库实例有多少用户: [oracle@localhost ~]$ sqlplus / as sysdba; SQL*Plus: Release 11.2.0.3.0 Product ...
- Android CTS Test
什么是CTS测试?了解这个问题前,我们先来搜索了解一遍“Google GMS 认证”.GMS全称为GoogleMobile Service,即谷歌移动服务.说白了GMS其实就是一系列谷歌的应用集合.谷 ...
- flask 面试题
1,什么是Flask,有什么优点?概念解释Flask是一个Web框架,就是提供一个工具,库和技术来允许你构建一个Web应用程序.这个Web应用程序可以是一些Web页面,博客,wiki,基于Web的日里 ...
- Linux 用户切换、修改用户名、修改密码
一.用户切换 "$":普通用户提示符 "#":root用户提示符 1.普通用户到root: 方式一:命令:su然后输入root密码 此种方式只是切换了root身 ...
- day04 运算符 流程控制 (if while/of)
1. 运算符算数运算符 + - * / int / float :数字类型 # print(10 + 3.1)# print(10 / 3)# print(10 // 3)# print(10 % 3 ...