# 配置顺序
# 中间件A
# 中间件B
# 中间件方法的执行顺序
# A process_request
# B process_request
# A process_view
# B process_view
# execute view_func
# A process_exception
# B process_exception
# A process_response
# B process_response
# process_request
# |
# process_view
# |
# ================== django middleware process_exception catch exception
# view_func
# ==================
# |
# / \
# / \ Exception
# / \
# / process_exception
# \ /
# \ /
# \ /
# \/
# |
# process_response