# Import middleware from django.utils.deprecation Import MiddlewareMixin from django.shortcuts Import the redirect # Inherited MiddlewareMixin class LoginMiddleWare (MiddlewareMixin): # before entering the corresponding routing method DEF process_request (Self, Request): # normal return None IF Request. path in [ " / the Login / " , "get_img" ]: return None IF not request.user.id: return redirect ( " / the Login / ")
Pretreatment Request Function: process_request (self, request)
Pretreatment View function: process_view (self, request, callback, callback_args, callback_kwargs)
Template template rendering function: process_template_response ()
After Exception handler: process_exception (self, request, exception)
process_exception () should return None or HttpResponse object.
Response function after treatment: process_response (self, request, response)
# 在settings中的MIDDLEWARE添加 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', "app01.utils.middlewares.LoginMiddleWare", ]