django(二)中间件与面向切面编程
一、中间件概念
django 自带函数可以在几个环节调节收到请求、处理请求、处理异常、以及发送请求。
看这里给的链接好了,这是一个大佬的讲django中间件的博客,非常清楚:https://www.cnblogs.com/zhaof/p/6281541.html
接下,我讲讲我使用的代码:
二、中间件示例
1、先在应用下的目录(如上图),创建中间件文件“MyException.py”, 输入以下内容
from django.http import HttpResponse #a middleware class MyException(object): def __init__(self, get_response): self.get_response = get_response def __call__(self, request): return self.get_response(request) def process_exception(request, response, exception): return HttpResponse("This is an exception!")
2、在主应用文件的Setting.py 的 "MIDDLEWARE " 中加入上面的文件名(得包括文件路径):booktest.MyException.MyException
3、在应用的 view 文件中加入,这是一个会抛出异常的逻辑:
#create the middleware def myExp(request): a1 = int('abc') return HttpResponse('hello')
4、在应用的 url 文件中加入:
url(r'^myexp/$', views.myExp)
三、运行应用,然后在浏览器访问该地址:http://127.0.0.1:8000/booktest/myexp/
由于抛出异常,会得到如图
这就是上面中间件文件定义的时候,抛出的异常的信息。
完成了。