一、目标
学习Django 的中间件,自定义一个中间件,让请求URL后就开始执行中间件(还没到视图的时候就已执行了)
还有好多中间件要学习,比如在视图执行后执行中间件等等,方法类似。
二、试验平台
windows7 , python3.7,Django2.1.5
三、概述
1.新建Djagon项目、新建app名叫blog
2.在项目根目录创建一个文件夹用于存放中间件程序/xMiddleware
3.再在中间件文件夹xMiddleware下创建用app命名的文件夹/xMiddleware/blog
4.创建自定义中间件py文件,写上程序。
5.在/settings中注册自定义中间件
6.测试效果
四、主要代码:
1.自定义中间件代码/xmiddleware/blog/kahnMiddle.py
# # /xMiddleware/blog/kahnMiddle.py 自定义中间件
#!/usr/bin/env python
# -*- coding:utf-8 -*-
from django.utils.deprecation import MiddlewareMixin
class xMiddleWare(MiddlewareMixin):
def process_request(self, request):
xArgs = request.GET.get("xName")
print(f"自定义中间件被调用了,参数为:{xArgs}")
2./settings.py注册写好的自己定义的中间件
'xMiddleware.blog.kahnMiddle.xMiddleWare',
五、运行django以测试效果。
1.在浏览器中按照自定义中间件定义的接受参数的方式去写个GET形式的URL
http://127.0.0.1:8000/?xName=Kahn 效果如下:
在控制台上能看的出来,没有视图的时候,我们自定义的中间件也生效了。这个非常碉。
六、文件结构截图
kahn 测试ok 2019年4月20日16:39:14