本人在做一个基于sae的在线学习系统,语言使用的python,web框架用的是django1.4。
由于需要对未经验证的u人类进行过滤,经过查询django文档,发现提供了middelware(中间件)这个非常不错的方法,写下来和大家分享。
middleware即所谓的中间件,是django在request--->view接受请求 以及 view--->response返回结果之间的桥梁插件。其实和servlet中的filter有
几分相似。
django默认的配置文件中有以下几个:
'django.middleware.common.CommonMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
这里middle执行的顺序和实际配置的顺序相关,
在request阶段:process_request,process_view 按照其所在类在配置中的先后顺序进行,
在response阶段:process_response,process_exception 则按照相反的顺序进行。
这里也可以发现AuthenticationMiddle是依赖SessionMiddle执行的