Django-自定义中间件


第一种方式:函数方式

函数方式定义中间件

1.根目录新建mymiddleware目录(中间件都保存在这个目录下),创建个middleware.py文件写入以下内容

def middleware_name(get_response):
	# middleware_name:中间件的名字
	#  get_response:Django的固定写法和类的self或者视图函数的request类似

	def middleware(request):
		print('执行这里了')
		# 在这里可以对request进行一些操作
		response = get_response(request)
		return response
	
	# 最后要返回这个函数
	return middleware

2.在settings.py中注册中间件

3.启动项目访问http://127.0.0.1:8000/查看控制台输出信息

第二种方式:可调用的类的方式

以可调用的类的方式编写中间件

1.修改middleware.py

class middleware_name:
   # middleware_name:中间件的名字

   def __init__(self, get_response):
       # 初始化中间件,项目启动时会进行初始化
       print('项目启动了,访问到这里了')
       # get_response这是固定的写法(一般都这样写)
       self.get_response = get_response
       self.str = '你可以在这里初始化一写参数'

   def __call__(self, request):
       print('每一次请求都会经过这里')
       print(self.str)  # 也可以使用init中初始化的参数
       response = self.get_response(request)
       return response

2.配置中间件

3.启动项目查看控制台信息

4.访问http://127.0.0.1:8000/查看控制台信息

总结

1.两种方式都可以用来定义中间件
2.函数方式:写起来简单

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Python454

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值