Django高级——中间键

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Django高级——中间键相关的知识,希望对你有一定的参考价值。

1. 中间件(面向切面编程)

# 不需要修改Django源代码就可以干预中间环节的开发方案;
# 是一个轻量级、底层的插件系统,可以介入Django的请求和响应
# 处理过程,修改Django的输入和输出;
# IoC,DI是其他语言中的面向切面编程的工具;

1.__init__方法,在响应第一次请求的时候被调用;

2.process_request()方法,在配置URLconf之前被调用;

3.process_view()方法,在执行视图之前被调用;

4.process_template_response()方法,在执行视图之后被调用;

5.process_response()方法,在返回浏览器之前(调用模板之后)被调用;

6.process_exception()方法,在执行视图过程中,出现异常时被调用,返回给浏览器;

1.1 实例

1.1.1 应用中创建一个py文件

# MyException.py
# 调用上面的方法,来干预中间环节;
from django.http import HttpResponse
class MyException():
def process_exception(request,response,exception):
return HttpResponse(‘abc‘)

1.1.2 在系统设置setting.py中添加中间键;

# MIDDLEWARE_CLASSES中:
# ‘booktest.MyException.MyException‘,

1.1.3 添加视图函数

# views.py中添加:
# myExp(request):
# 比如:a1=int(‘abc‘) # 视图函数出错,弹出干预界面;
# return HttpResponse(‘hello world‘)

1.1.4 配置url

# 访问视图函数myExp()


以上是关于Django高级——中间键的主要内容,如果未能解决你的问题,请参考以下文章

django中间键

Django----中间键 在其他语言中,有人叫这个管道 中间件

django 中间键重定向

DJango跨域中间键

Python Django 生命周期 中间键 csrf跨站请求伪造 auth认证模块 settings功能插拔式源码

django csfr中间键