首页 > 其他分享 >django 12 django中间件,cookie与session

django 12 django中间件,cookie与session

时间:2022-12-21 19:45:43浏览次数:40  
标签:process request middleware 中间件 django session response

django中间件

# 1.所有的请求和响应都必须经过中间件
# 2.django中间件默认自带七个,每个中间件负责不同的功能

    """Django中间件的作用"""
    -1.修改请求,即传送到view中的HttpRequest对象。
    -2.修改响应,即view返回的HttpResponse对象。

# 3.中间件的配置:
    MIDDLEWARE = [
      'django.middleware.security.SecurityMiddleware',
      'django.contrib.sessions.middleware.SessionMiddleware',
      'django.middleware.common.CommonMiddleware',
      'django.middleware.csrf.CsrfViewMiddleware',
      'django.contrib.auth.middleware.AuthenticationMiddleware',
      'django.contrib.messages.middleware.MessageMiddleware',
      'django.middleware.clickjacking.XFrameOptionsMiddleware',

# 4.常见的中间件方法(五个)
   # 1).process_request
     - 1.请求来的时候会按照配置文件中注册了的中间件 从上往下依次执行每一个中间件里面的process_request方法 如果没有则直接跳过
     - 2.该方法如果返回了HttpResonse对象 那么请求不会再往后执行 原路返回
   # 2).process_response
     - 1.响应走的时候会按照配置文件中注册了的中间件 从下往上一次执行每一个中间件里面的process_response方法 没有没有则直接跳过
     - 2.该方法有两个形参request和response 并且默认情况下应该返回response
     - 3.该方法也可以自己返回HttpResponse对象 相当于狸猫换太子
     """ 
     注意:如果请求的过程中process_request方法直接反悔了
             HttpResponse对象那么会原地执行同级别process_response方法返回(flask则不同)
     """
   # 3).process_view
     当路由匹配成功之后 执行视图函数之前 自动触发

   # 4).process_excption
     当视图函数报错之后 自动触发

   # 5).process_template_response
     当视图函数返回的数据对象中含有render属性对应render函数才会触发

# 5.自定义中间件
    - 1. 创建一个任意名的文件夹
    - 2. 文件夹内创建一个任意名的py文件
    - 3. 在py文件内编写中间件类(参考自带中间件的代码编写类并继承)
- 4. 在配置文件中注册即可(注册后才可以生效)

 

标签:process,request,middleware,中间件,django,session,response
From: https://www.cnblogs.com/juzijunjun/p/16996987.html

相关文章

  • django之中间件
    django中间件django默认有七个中间件并且还支持用户自定义中间件中间件主要可以用于:网站访问频率的校验,用户权限的校验等全局类型的功能需求MIDDLEWARE=[......
  • form组建、modelform、中间件
    目录今日内容概要今日内容详细forms组件渲染标签forms组件展示信息forms组件校验补充forms组件参数补充forms组件源码剖析modelform组件django中间件今日内容概要forms......
  • forms组件渲染标签 、forms组件展示信息 、forms组件校验补充、 forms组件参数补充 、
    目录forms组件渲染标签forms组件展示信息forms组件校验补充forms组件参数补充forms组件源码剖析modelform组件django中间件forms组件渲染标签<p>forms组件渲染标签的方式......
  • 彩虹女神跃长空,Go语言进阶之Go语言高性能Web框架Iris项目实战-JWT和中间件(Middlewar
    前文再续,上一回我们完成了用户的登录逻辑,将之前用户管理模块中添加的用户账号进行账号和密码的校验,过程中使用图形验证码强制进行人机交互,防止账号的密码被暴力破解。本回......
  • 知识分享-消息中间件详解+rabbitMQ
    知识分享-消息中间件详解+rabbitMQ消息中间件概述消息中间件是基于队列与消息传递技术,在网络环境中为应用系统提供同步或异步、可靠的消息传输的支撑性软件系统。应用......
  • 面试官:讲讲session的持久化
    一、session知识回顾1.1session何时创建?默认第一次访问时,使用到了HttpSession就会创建(request.getSession),访问JSP时由于会自备九大内置对象,因此也会创建session1.2session......
  • django8
    Q查询进阶操作fromdjango.db.modelsimportQq_obj=Q()#1.产生q对象q_obj.connector='or'#默认多个条件的连接是and可以修改为orq_obj.children.append(('......
  • 用ThreadLocal来存储Session
    /***用ThreadLocal来存储Session,以便实现Sessionanywhere.**/publicclassThreadLocalUtil{protectedfinalLoggerlogger=LoggerFactory.getLogger(this......
  • Django
    Basics安装安装及查看Django版本。pipinstalldjangopython-mdjango--version创建项目在目标文件夹下执行:(需要将python/script加入环境变量)django-adminstart......
  • Django框架8
    今日内容概要ajax补充说明多对多三种创建方式django内置序列化组件ORM批量操作数据自定义分页器form组件今日内容详细ajax补充说明主要是针对回调函数args接收......