django中间件,CRSF(跨站请求攻击),Auth认证模块

django请求响应的生命周期简介

浏览器发送请求,通过web服务网管接口(wsgiref)封装解析成request,经过django的中间件(默认7个中间件,可自定义中间件,从上至下),经过urls.py进行路由的解析,到达对应的视图函数,视图函数和templates、models进行数据的处理和交互显示,视图函数处理完成之后返回request对象,依次通过urls.py,django的中间件(从下至上),web服务网关接口返回给浏览器。
在这里插入图片描述

django中间件介绍

官方说法:中间件是一个用来处理django请求和响应的框架级别的钩子,它是一个轻量、低级别的插件系统,用于在全局范围内改变django的输入输出。每个中间件组件都负责一些特定的功能。
说的直白一点就是在执行是视图函数之前和执行之后,可以做一些额外的操作。它的本质上就是一个自定义的类,类中定义几个方法,django会在请求的特定时间去执行这些方法。
从我们安装和运行django框架开始我们就在是有中间件,可能只是没有注意而已。
默认的django中间件

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',
]

django中间件在请求的时候是从上至下执行的,在响应的时候是从下至上的

自定义中间件

新建一个文件夹,在文件夹中新建一个middleware.py文件

from django.utils.deprecation import MiddlewareMixin
from django.shortcuts import HttpResponse,render


class MyMiddleWare(MiddlewareMixin):
    def process_request(self,request):
        print('我是第一个自定义的中间件中process_request方法')
        # return HttpResponse('我是第一个中间件里面返回的对象')
        # return render(request, 'index.html')


    def process_response(self,request,response):
        print('我是第一个自定义的中间件中process_response方法')
        
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值