1.中间件是什么
请求和响应之间的一道屏障
2.中间件的作用
控制请求和响应
3.自定义中间件
①mymiddelware.py
from django.utils.deprecation import MiddlewareMixin
class MyMiddleware1(MiddlewareMixin):
def process_request(self, request):
url = request.path
if url == '/login/':
return None
elif url == '/dingdang/' and request.session.get('name'):
return None
else:
return redirect('/login/')
def process_response(self, request, response):
print('MyMiddleware--->1---->process_response')
return response
②在setting中注册,是有顺序的是顺序是从上至下
MIDDLEWARE = [
'app01.mymiddelware.MyMiddleware1',
]
4.中间件的方法
-process_request
-请求来的时候,会响应它
-process_response
-响应回去的时候,会走它
-process_view(了解)
- request, callback(视图函数), callback_args(无名分组的参数), callback_kwargs(有名分组的参数)
-执行顺序,详见图
-def process_exception(self, request, exception)(了解)
-def process_template_response(self, request, response):(了解)