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.响应对象:直接返回

      

        

 

posted @ 2018-11-14 17:06  俏如來  阅读(221)  评论(0编辑  收藏  举报