Django中间件实现拦截器
2016-10-02 13:34
351 查看
1.前言
JavaWeb Struts2的拦截器我们都能很熟悉,在请求交给Action处理之前,先在拦截器中处理,处理完之后再交给Action。在Django中如何实现相同的效果?
2.Django中间件
这个是我的项目的目录结构。首先,先在app目录(也就是我项目的web目录)中新建一个文件命名为middleware.py
里面加入以下代码:
try: from django.utils.deprecation import MiddlewareMixin # Django 1.10.x except ImportError: MiddlewareMixin = object # Django 1.4.x - Django 1.9.x class SimpleMiddleware(MiddlewareMixin): def process_request(self, request): return None def process_response(self, request, response): return response
在process_request中处理请求,process_response处理响应。
在process_request方法中,返回值为HttpResponse类型的对象的时候不交给普通的控制器处理,直接返回给浏览器,返回值为None的时候,请求处理完之后交给普通的控制器处理。
在settings.py文件的中间件配置中我们刚刚的中间件。
至此利用中间件做拦截器的工作配置完成。
相关文章推荐
- Django中间件实现拦截器的方法
- Django 限制用户访问频率的中间件的实现
- django入门笔记11 - 中间件(拦截器)
- Django 登陆验证码和中间件的实现
- Python 实现抽象类的两种方式+邮件提醒+动态导入模块+反射(参考Django中间件源码)
- struts2中利用拦截器实现权限管理
- Asp.net中XML文件作为中间件进行数据交换功能的实现(c#,sql2000)
- 用struts2拦截器实现权限检查
- [转]Struts2教程9:实现自已的拦截器
- 通过struts2拦截器实现权限管理
- asp.net中XML文件作为中间件进行数据交换功能的实现(c#,sql2000)
- 使用 IBM 中间件实现 SaaS 解决方案,第 1 部分
- Java实现的拦截器模型
- 在Django中实现验证码
- Struts2教程9:实现自已的拦截器
- asp.net中XML文件作为中间件进行数据交换功能的实现(c#,sql2000)
- Django:更简单的实现记住密码功能
- Struts2教程9:实现自已的拦截器
- spring 拦截器的实现
- 拦截器实现文件过滤