django中间件
中间件与请求钩子相似(flask之中的),可以在app应用之中在 middleware.py之中
''' 定义了中间件!视图函数每次调用都会以触发中间件! 将中间件注册到setting 之中 如果设置了多个中间件,调用前在setting之中自上到下,调用后,自下到上 中间件需要在设置文件之中指定中间件位置! '''def simple_middleware(get_responses): # print('11111111111') # 第一次加载配置文件执行此处的代码段 def middleware(request): '''此处是试图函数调用之前!''' print('1这是中间件之前!') responses = get_responses(request) '''视图函数调用之后!''' print('1这是中间件之后!') return responses return middleware def simple_middleware2(get_responses): # 第一次加载配置文件执行此处的代码段 def middleware(request): '''此处是试图函数调用之前!''' print('2这是中间件之前!') responses = get_responses(request) '''视图函数调用之后!''' print('2这是中间件之后!') return responses return middleware
在setting之中注册中间件!
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', # 自定义中间件! # 'classmeth.middleware.simple_middleware', # 'classmeth.middleware.simple_middleware2' ]