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/

运行结果:

最新文章

  1. javascript技术难点(三)之this、new、apply和call详解
  2. jsp 表单提交,服务器跳转方法 浏览器重定向 及 servlet映射时 路径问题
  3. Thinkphp源码分析系列–开篇
  4. 你们以为运营商只是HTTP插点广告而已么?
  5. IBInspectable的使用
  6. HTML&CSS基础学习笔记1.32-选择器是什么
  7. BeyondCompare两个文件中同一行字符长度不一致的文件对比,比如pi文件对比(xjl456852原创)
  8. 微软官方的Unity支持组件
  9. php 多维数组 arrayList array()
  10. JAVA实现字符串反转,借助字符数组实现
  11. WebKit介绍和总结(一)
  12. int与string的相互转换
  13. 201521123055 《Java程序设计》第11周学习总结
  14. Struts 2 之拦截器
  15. 论文系统Step1:从日志记录中提取特定信息
  16. Jmeter之正则表达式提取器应用
  17. 服务网关zuul之二:过滤器--请求过滤执行过程(源码分析)
  18. Hive表中Partition的创建
  19. 使用JPedal取代PDFBox
  20. ant-design里为了清空Modal中的值, modal 中值有缓存 ....

热门文章

  1. js创建对象的三种方式
  2. Java基础--线程创建方式
  3. python 比较2个文件内容
  4. 范式(Paradigm)是什么?
  5. 使用apache 的FileUtils处理文件的复制等操作
  6. 无向图边双联通分量 tarjan 模板
  7. 未能找到 System.Web.Helpers
  8. git crate patch and check&apply patch(八)
  9. poj2398 Toy Storage 计算几何,叉积,二分
  10. # [SDOI2019]移动金币 阶梯博弈 dp