今日学习内容 django中间件

django自带有7个中间件,其中用户可以自定义中间件,可以用于全局网站权限的验证等

自定义中间件的四步走:
1.在应用目录下或者项目目录下自定义文件夹

2.文件夹自定义任意py文件

3.py文件中的自定义类需要继承MiddlewareMixin父类 在类下面即可写方法,一般有五类 ,两种掌握,三种了解 

process_request和process_response  请求来 与 请求走的时候所对应的方法。

4.在settings文件中 写入自定义中间件的路径

from django.utils.deprecation import MiddlewareMixin


class Mymidware1(MiddlewareMixin):
    def process_request(self,request):
        print("我是第一个自定义中间键里的process_request方法")


    def process_response(self,request,response):
        print("我是第一个自定义中间键里的process_response方法")
        return response


class Mymidware2(MiddlewareMixin):
    def process_request(self, request):
        print("我是第二个自定义中间键里的process_request方法")

    def process_response(self, request, response):
        print("我是第二个自定义中间键里的process_response方法")
        return response

其中 要先导入from django.utils.deprecation import MiddlewareMixin

并且其中的运行顺序先按顺序走process_requsest后相反顺序走process_response

process_response方法要返回response对象 若私自改成Httpresponse对象则会替换views中视图函数

process_resquest对象若提前返回了 HttpResponse对象,则运行只会到同级别的process_response,注意这与Flask框架不同的是 Flask里会运行完所有的process_response对象。

 

posted @ 2021-06-01 11:30  不想拖累他人  阅读(39)  评论(0)    收藏  举报