码迷,mamicode.com
首页 > 其他好文 > 详细

Django高级——中间键

时间:2017-10-12 22:54:03      阅读:142      评论:0      收藏:0      [点我收藏+]

标签: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   高级   中间键   

原文地址:http://13269293.blog.51cto.com/13259293/1971792

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!