网站运营工作具体做啥,网络会议,装潢设计与制作是学什么,有什么推广网站中间件是全局使用
工厂函数定义中间件
middleware.py
# 工厂函数的中间件
def simple_middleware(get_response):def middleware(request):print(在视图函数处理之前执行、、、、、)response get_response(request)print(在视图函数处理之后执行。。。。…中间件是全局使用
工厂函数定义中间件
middleware.py
# 工厂函数的中间件
def simple_middleware(get_response):def middleware(request):print(在视图函数处理之前执行、、、、、)response get_response(request)print(在视图函数处理之后执行。。。。。)return responsereturn middlewaresetings.py中注册中间件
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,the_15.middleware.simple_middleware,
]
类定义中间件
# 类定义中间件
from django.utils.deprecation import MiddlewareMixinclass Mwi(MiddlewareMixin):def process_request(self, request):如果没有返回值或者返回值为 None 就会继续执行视图函数如果有返回值就不会执行视图函数中的内容直接返回值print(process_request 在视图函数之前执行、、、、、)passdef process_View(self, request, view_func, view_args, view_kwargs):print(process_View 正在执行中)passdef process_response(self, request, response):一定要有返回值print(process_response 在视图函数之后执行、、、、、)return responsesetings.py中注册中间件
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,# the_15.middleware.simple_middleware,the_15.middleware.Mwi,
]
执行顺序 中间件的属性与方法 ▶ get_response ▶ process_request(self, request) ▶ process_view(self, request, view_func, view_args, view_kwargs) ▶ process_response(self, request, response) ▶ process_template_response(self, request, response)