Python - Django - 中间件 process_template_response
2024-09-05 17:34:14
process_template_response(self, request, response) 有两个参数,response 是 TemplateResponse 对象(由视图函数或者中间件产生)
process_template_response 函数是在视图函数执行完后立即执行的
执行 process_template_response 函数有一个前提条件,那就是视图函数返回的对象要有一个 render() 方法(或者表明该对象是一个 TemplateResponse 对象或等价方法)
middleware_test.py:
from django.utils.deprecation import MiddlewareMixin
from django.shortcuts import HttpResponse class Test(MiddlewareMixin):
def process_request(self, request):
print("这是一个中间件 --> test") def process_template_response(self, request, response):
print("这里是 Test 的 process_template_response")
return response class Test2(MiddlewareMixin):
def process_request(self, request):
print("这是一个中间件 --> test2") def process_template_response(self, request, response):
print("这里是 Test2 的 process_template_response")
return response
views.py:
from django.shortcuts import render, HttpResponse, redirect def index(request):
print("这里是 index 页面")
rep = HttpResponse("这里是主页面 index") def render():
print("这里是 index 函数里的 render 方法")
return HttpResponse("index") rep.render = render
return rep
访问,http://127.0.0.1:8000/index/
运行结果:
最新文章
- javascript技术难点(三)之this、new、apply和call详解
- jsp 表单提交,服务器跳转方法 浏览器重定向 及 servlet映射时 路径问题
- Thinkphp源码分析系列–开篇
- 你们以为运营商只是HTTP插点广告而已么?
- IBInspectable的使用
- HTML&;CSS基础学习笔记1.32-选择器是什么
- BeyondCompare两个文件中同一行字符长度不一致的文件对比,比如pi文件对比(xjl456852原创)
- 微软官方的Unity支持组件
- php 多维数组 arrayList array()
- JAVA实现字符串反转,借助字符数组实现
- WebKit介绍和总结(一)
- int与string的相互转换
- 201521123055 《Java程序设计》第11周学习总结
- Struts 2 之拦截器
- 论文系统Step1:从日志记录中提取特定信息
- Jmeter之正则表达式提取器应用
- 服务网关zuul之二:过滤器--请求过滤执行过程(源码分析)
- Hive表中Partition的创建
- 使用JPedal取代PDFBox
- ant-design里为了清空Modal中的值, modal 中值有缓存 ....