django 中间件

2021-04-22  本文已影响0人  Joncc

中间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并返回结果。
上一篇下一篇

猜你喜欢

热点阅读