自定义Django中间件的知识详解(十二)

2019-08-07  本文已影响0人  梦捷者

一、Django 中间件的运行流程

二、中间件的定义方法

def middleware(get_response):
    # 此处编写的代码仅在Django第一次配置和初始化的时候执行一次。

    def middleware(request):
        # 此处编写的代码会在每个请求处理视图前被调用。

        response = get_response(request)

        # 此处编写的代码会在每个请求处理视图之后被调用。

        return response

    return middleware
def my_middleware(get_response):
    print('init 被调用')
    def middleware(request):
        print('before request 被调用')
        response = get_response(request)
        print('after response 被调用')
        return response
    return middleware

'users.middleware.my_middleware',  # 添加中间件
def demo_view(request):
    print('view 视图被调用')
    return HttpRespon se('OK')

三、多个中间件的执行顺序

以下是在项目主目录下settings.py文件下进行

举例:重新定义一个中间件
def my_middleware2(get_response):
    print('init2 被调用')
    def middleware(request):
        print('before request 2 被调用')
        response = get_response(request)
        print('after response 2 被调用')
        return response
    return middleware

四、知识点补充

1、如果开启django的时候端口被占用,可用下面的方式来查看端口的情况。

ps  -e  | grep python

2、杀死被占用的端口

kill  -9 端口号
上一篇 下一篇

猜你喜欢

热点阅读