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

原文地址:https://www.cnblogs.com/wuchenggong/p/9449113.html