中间件

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):(了解)
posted @ 2018-11-23 20:37  周建豪  阅读(108)  评论(0编辑  收藏  举报