一、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组件的更多相关文章

  1. python全栈开发中级班全程笔记(第二模块、第三章)(员工信息增删改查作业讲解)

    python全栈开发中级班全程笔记 第三章:员工信息增删改查作业代码 作业要求: 员工增删改查表用代码实现一个简单的员工信息增删改查表需求: 1.支持模糊查询,(1.find name ,age fo ...

  2. python 全栈开发,Day99(作业讲解,DRF版本,DRF分页,DRF序列化进阶)

    昨日内容回顾 1. 为什么要做前后端分离? - 前后端交给不同的人来编写,职责划分明确. - API (IOS,安卓,PC,微信小程序...) - vue.js等框架编写前端时,会比之前写jQuery ...

  3. python全栈开发目录

    python全栈开发目录 Linux系列 python基础 前端~HTML~CSS~JavaScript~JQuery~Vue web框架们~Django~Flask~Tornado 数据库们~MyS ...

  4. Python全栈开发【面向对象进阶】

    Python全栈开发[面向对象进阶] 本节内容: isinstance(obj,cls)和issubclass(sub,super) 反射 __setattr__,__delattr__,__geta ...

  5. Python全栈开发【面向对象】

    Python全栈开发[面向对象] 本节内容: 三大编程范式 面向对象设计与面向对象编程 类和对象 静态属性.类方法.静态方法 类组合 继承 多态 封装 三大编程范式 三大编程范式: 1.面向过程编程 ...

  6. Python全栈开发【模块】

    Python全栈开发[模块] 本节内容: 模块介绍 time random os sys json & picle shelve XML hashlib ConfigParser loggin ...

  7. Python全栈开发【基础四】

    Python全栈开发[基础四] 本节内容: 匿名函数(lambda) 函数式编程(map,filter,reduce) 文件处理 迭代器 三元表达式 列表解析与生成器表达式 生成器 匿名函数 lamb ...

  8. Python全栈开发【基础三】

    Python全栈开发[基础三]  本节内容: 函数(全局与局部变量) 递归 内置函数 函数 一.定义和使用 函数最重要的是减少代码的重用性和增强代码可读性 def 函数名(参数): ... 函数体 . ...

  9. Python全栈开发【基础二】

    Python全栈开发[基础二] 本节内容: Python 运算符(算术运算.比较运算.赋值运算.逻辑运算.成员运算) 基本数据类型(数字.布尔值.字符串.列表.元组.字典) 其他(编码,range,f ...

  10. Python全栈开发【基础一】

    Python全栈开发[第一篇] 本节内容: Python 的种类 Python 的环境 Python 入门(解释器.编码.变量.input输入.if流程控制与缩进.while循环) if流程控制与wh ...

随机推荐

  1. UVALive 6887 Book Club 最大流解最大匹配

    题目连接: https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&page=show ...

  2. jquery绑定回车键发送(登录)

    $(function(){        $(document).keydown(function(e){            if(e.keyCode==13){                $ ...

  3. Chrome JS内存泄漏排查方法(Chrome Profiles)

     原文网址:http://blog.csdn.net/kaitiren/article/details/19974269 JS内存泄漏排查方法(Chrome Profiles)   Google Ch ...

  4. JS仿淘宝详情页菜单条智能定位效果

    类似于淘宝详情页菜单条智能定位 对于每个人来说并不陌生!如下截图所示:红色框的那部分! 基本原理: 是用JS侦听滚动事件,当页面的滚动距离(页面滚动的高度)大于或者等于 "对象"( ...

  5. poj 2001 Shortest Prefixes

    字典树的简单应用. #include<stdio.h> #include<string.h> ][]; struct node{ int cnt; node *next[]; ...

  6. [认证授权] 3.基于OAuth2的认证(译)

    OAuth 2.0 规范定义了一个授权(delegation)协议,对于使用Web的应用程序和API在网络上传递授权决策非常有用.OAuth被用在各钟各样的应用程序中,包括提供用户认证的机制.这导致许 ...

  7. JVM调优命令-jhat

    jhat JVM Heap Analysis Tool命令是与jmap搭配使用,用来分析jmap生成的dump,jhat内置了一个微型的HTTP/HTML服务器,生成dump的分析结果后,可以在浏览器 ...

  8. 库增删该查,表增删该查,记录增删该查,表与表关系(多对多,多对一,一对一),mysql用户管理

    库增删该查 增加库 create database db1 create database db1 charset="gbk 查看库 show databases 查看所有库 show cr ...

  9. UPDATE 时主键冲突引发的思考【转】

    假设有一个表,结构如下: root::> create table t1 ( -> id int unsigned not null auto_increment, ', -> pr ...

  10. 【java】数据类型

    逻辑型boolean: boolean类型数据只能取值True或False,不可以0或者非0替代True或False,这点与c语言不同. 字符型char: 一个char类型的字符占两个字节.一个汉字也 ...