美文网首页
django 中间件

django 中间件

作者: Joncc | 来源:发表于2021-04-22 16:11 被阅读0次

    中间5个方法。

    from django.utils.deprecation import MiddlewareMixin
    
    1、请求后时经过第一个方法
    process_request(self,request)
    
    2、调用视图函数之前调用process_view方法
    process_view(self, request, callback, callback_args, callback_kwargs)
    
    3、该方法对视图函数返回值有要求,必须是一个含有render方法类的对象,才会执行此方法. mvc
    process_template_response(self,request,response)
    
    4、这个方法只有在视图函数中出现异常了才执行
    process_exception(self, request, exception):
        return 
    
    5、在最后返回之前调用
    process_response(self, request, response)
    

    process_view

    process_view(self, request, view_func, view_args, view_kwargs)

    该方法有 四个参数
    
    request 是 HttpRequest对象。
    
    view_func 是Django即将使用的视图函数。 (它是实际的函数对象,而不是函数的名称作为字符串。)
    
    view_args 是将传递给视图的位置参数的列表(无名分组分过来的值).
    
    view_kwargs 是将传递给视图的关键字参数的字典(有名分组分过来的值)。 view_args和view_kwargs都不包含第一个视图参数(request)。
    
    Django会在调用视图函数之前调用process_view方法。
    
    它应该返回None或一个HttpResponse对象。 如果返回None,Django将继续处理这个请求,执行任何其他中间件的process_view方法,然后在执行相应的视图。 如果它返回一个HttpResponse对象,Django不会调用适当的视图函数。 它将执行中间件的process_response方法并将应用到该HttpResponse并返回结果。
    

    相关文章

      网友评论

          本文标题:django 中间件

          本文链接:https://www.haomeiwen.com/subject/djhfrltx.html