Django框架学习笔记(23.中间件结合实例介绍)
来源:互联网 发布:mongodb java api 编辑:程序博客网 时间:2024/05/18 00:28
中间件的作用是对所有的请求做统一操作
实例:
创建一个Middle文件夹,新建一个m1.py
from django.utils.deprecation import MiddlewareMixinfrom django.shortcuts import HttpResponseclass Row1(MiddlewareMixin): def process_request(self, request): print('1') def process_response(self, request, response): print('|1|') return responseclass Row2(MiddlewareMixin): def process_request(self, request): print('2') return HttpResponse('STOP') def process_response(self, request, response): print('|2|') return responseclass Row3(MiddlewareMixin): def process_request(self, request): print('3') def process_response(self, request, response): print('|3|') return response
定义一个测试URL:
urls.py:
url(r'^test/$', views.test),
views.py:
def test(request): print('成功') return HttpResponse('OK')
settings.py中配置中间件:
MIDDLEWARE = [ 'django.middleware.security.SecurityMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.common.CommonMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware', 'Middle.m1.Row1', 'Middle.m1.Row2', 'Middle.m1.Row3',]
运行后访问测试URL输出:
中间件还有其他操作:
m1.py:
from django.utils.deprecation import MiddlewareMixinfrom django.shortcuts import HttpResponseclass Row1(MiddlewareMixin): def process_request(self, request): print('1') def process_view(self, request, view_func, view_func_args, view_func_kwargs): print('*1*') def process_response(self, request, response): print('|1|') return responseclass Row2(MiddlewareMixin): def process_request(self, request): print('2') def process_view(self, request, view_func, view_func_args, view_func_kwargs): print('*2*') def process_response(self, request, response): print('|2|') return responseclass Row3(MiddlewareMixin): def process_request(self, request): print('3') def process_view(self, request, view_func, view_func_args, view_func_kwargs): print('*3*') def process_response(self, request, response): print('|3|') return response
运行后:
还有几个不重要并且很少使用的,就不介绍了
阅读全文
0 0
- Django框架学习笔记(23.中间件结合实例介绍)
- 【django 学习笔记】16-中间件
- Django框架学习笔记(20.Cookies简易实例)
- Django框架学习笔记(21.Session实例)
- Django框架学习笔记(24.缓存实例简介)
- Django框架学习笔记(22.CSRF原理简单介绍)
- Django框架全面讲解 -- 中间件(MiddleWare)
- Django框架学习笔记(17.多对多简易实例)
- Django框架学习笔记(6.FBV和CBV简单介绍)
- Django学习笔记(九)--django框架的bug总结
- Laravel框架学习(中间件)
- web 框架 Django 学习记录 (三)一个实例
- python web框架Django学习(一)介绍篇
- (学习笔记) Laravel 中间件
- Django(五)中间件
- PYTHON框架之DJANGO学习笔记(十二)
- PYTHON框架之DJANGO学习笔记(十四)
- Django框架学习笔记(1.安装创建初识)
- 前端入门学习笔记(1)--html部分
- 关于studio 3.0编译Android 项目出现 aapt2解决方式(知心版)
- 存储器层次结构2
- 封装Http工具类
- 机器学习的大局:用神经网络和TensorFlow分类文本
- Django框架学习笔记(23.中间件结合实例介绍)
- Maven 学习
- 基于Oauth 2.0的一个登录注册demo
- 安装IDEA
- redis client
- webpack+babel+react搭建
- 每秒处理10万高并发订单的某集团支付系统架构分享
- hibernate 的缓存机制
- KMP&&trie树&&AC自动机