from django.utils.deprecation import MIDdlewareMixinclass MyMIDdleware(MIDdlewareMixin): def process_request(self,request): print(‘request‘) def process_response(self,request,response): print(‘response‘) #自定义中间件当消息从视图函数返回必须要在中间process_reponse中返回response #不然会丢失 return response def process_vIEw(self,vIEw_func,vIEw_args,vIEw_kwargs): print(‘第一个中间件中的视图函数‘)
配置文件
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.mymIDdleware.aaa.MyMIDdleware‘]django的请求生命周期
执行的顺序:
当中间件中都没有process_vIEws函数时
当有request请求时,先从上到下执行中间件中的process_request函数,执行完接着执行
视图函数,视图函数执行完就从下到上执行中间件中的process_response函数
当process_request函数返回None时,中间件往下执行,当返回httpResponse时,
这个中间件往下的中间件都不会执行,直接从这个中间件的process_response函数往回执行
总结
以上是内存溢出为你收集整理的Django中间键全部内容,希望文章能够帮你解决Django中间键所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)