zoukankan      html  css  js  c++  java
  • cookie,session与中间键

    学习的博客地址:https://www.cnblogs.com/liwenzhou/p/8343243.html

    1.浏览器请求服务器的四种方法:url,a标签,form表单,ajax

    2.SweetAlert插件的使用:swal('title','text','type')

    3.cookie是什么?

      保留在浏览器的键值对

      浏览器访问一个网站的时候自动携带该网站的cookie

    4.cookie的作用

      保存请求的状态

    5.cookie的应用.

      登录

      保存用户的浏览习惯

      简单的投票限制

    6.Django中cookie的使用

      1.普通cookie

        1.设置cookie

          reponse_obj.set_cookie(key,value,max_age=None)

          max_age:控制cookie的过期时间,默认是关闭浏览器就失效

        2.获取cookie

          request.COOKIES  -->字典

      2.加盐的cookie

        1.设置cookie

          response_obj.set_signed_cookie(key,value,salt='',max_age=None)

        2.获取cookie

          request.get_signed_cookie(key,salt='',default='默认值')

        3.删除cookie

          request_obj.delete_cookie(key)    

    7.cookie的缺点:

      在浏览器端保存的长度4096,

      键值对保存在浏览器端,信息不安全

    8.seesion是什么?

      1.保存在服务端的键值对

    9.Django提供的装饰器工具

      from django.utils.decorators import method_deccorator

        把装饰函数的装饰器包装成可以装饰类中方法的装饰器

    10.django中ajax添加csrftoken的方式

      1.在页面上写一个{% csrftoken %},用jQuery取到其值添加到data中

      2.利用JS从cookie获取csrftoken,设置AJAX的请求头

    11.中间件

      1.作用

        全局改变Django的请求和响应

      2.Django中自定义中间件

      五个方法(执行的时间点,执行的顺序,参数,返回值)

        1.process_request(self,request)

          1.执行的时间点

            请求进来之后

          2.执行的顺序

            按照中间件的注册顺序执行

          3.参数

            当前请求对象

          4.返回值

            1.返回None继续执行后续的

            2.返回响应对象,不继续执行后续的流程,直接返回响应

        2.process_response(self,request,responnse)

          1.执行的时间点:

            返回响应之后

          2.执行顺序

            按照中间件注册的倒叙执行

          3.参数

            1.request:当前的请求对象

            2.response:传递过来的响应对象

          4.返回值

            1.必须返回一个响应对象

        3.process_view(self,request,view_func,view_args,view_kwargs)

          1.执行的时间点

            proccess_request之后,视图函数之前执行

          2.执行顺序

            按照中间件的注册顺序执行

          3.参数

            1.request:请求对象

            2.view_func:将要执行的视图函数对象

            3.view_args/view_kwargs:将要执行的函数的参数

          4.返回值

            1.None:继续往后执行

            2.响应对象:直接返回了,不会执行后续的视图函数

        4.process_template_response(self,request,response)

          1.执行的时间点:

            当视图函数中返回带render方法的响应对象,这个方法才会执行  

          2.执行的顺序

            中间键注册的倒序

          3.参数

            1.request:请求的对象

            2.response:响应对象

          4.返回值

            1.必须返回响应对象

        5.process_exception(self.request,exception)

          1.执行的时间点

            当视图函数中抛出异常的时候才会执行这个方法

          2.执行的顺序

            中间件的注册的倒序

          3.参数

            1.request:请求对象

            2.exception:视图函数抛出的异常

          4.返回值

            1.None:继续执行后续

            2.响应对象:直接返回

          

            

  • 相关阅读:
    python 利用turtle库绘制五角星
    ci框架memcached使用
    pycharm搭建开发配置,远程调试,数据库配置,git配置等
    织梦dedecms后台发布文章提示“标题不能为空”
    mysql revise
    sublime 新手代码提示
    div+css的属性
    css解决IE6,IE7,firefox兼容性问题
    Sublime常用插件
    Dede CMS如何在文章中增加“附件下载”操作说明
  • 原文地址:https://www.cnblogs.com/lijinming110/p/9958977.html
Copyright © 2011-2022 走看看