django 自定义中间件如何忽略部分视图函数

换个说法提问:django 视图函数如何跳过部分自定义中间件?

有没有类似于跳过 csrf 中间件的方式来跳过自定义中间件呢?
类似于:

# views
from django.views.decorators.csrf import csrf_exempt

@csrf_exempt
def ceshi_1(request):
    print('ceshi_1')
    return JsonResponse({})

我知道一种跳过的方式: 在中间件中过滤 URL,但是感觉比较麻烦

# 自定义 middleware
class CeShi:
    def __init__(self, get_response):
        self.get_response = get_response

    def __call__(self, request):
        if '/main/' in request.path_info:
            return self.get_response(request)
        
        print('进入中间件')
        response = self.get_response(request)
        pass
        return response

只能在中间件中过滤 URL,HTTP请求进来是经过中间件再到视图,你看看django生命周期就知道HTTP请求的处理先后顺序,还可以从信号机制这个功能着手,这个是将django各个功能解耦的,其中包含了HTTP请求的处理
如果对你有帮助,可以点击我这个回答右上方的【采纳】按钮,给我个采纳吗,谢谢