Django 1.10:“;“新风格”;等价于“process_request()的中间件`
如何创建“新风格”中间件,实现与使用Django 1.10:“;“新风格”;等价于“process_request()的中间件`,django,python-2.7,django-middleware,Django,Python 2.7,Django Middleware,如何创建“新风格”中间件,实现与使用process\u request()hook和“旧风格”等效的实现 我已经使用MiddlewareMixin改编了1.10之前的中间件process\u request() from django.utils.deprecation import MiddlewareMixin class MyCustomMiddleware(MiddlewareMixin): def process_request(self, request):
process\u request()
hook和“旧风格”等效的实现
我已经使用MiddlewareMixin
改编了1.10之前的中间件process\u request()
from django.utils.deprecation import MiddlewareMixin
class MyCustomMiddleware(MiddlewareMixin):
def process_request(self, request):
# My request logic
return response
我想知道如何实现“纯”>1.9“新风格”。我尝试通过实现\uuuu init\uuuuuuuuuuuuu()
和\uuuuuuuu call\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu
class MyCustomMiddleware(object):
def __init__(self, get_response):
self.get_response = get_response
def __call__(self, request):
# My request logic
return response
谢谢。这里有一个例子
类时间戳中间件(对象):
定义初始化(自我,获取响应):
self.get\u response=get\u response
定义呼叫(自我,请求):
request.timestamp=datetime.utcnow().strftime(“%Y-%m-%d%H:%m:%S”)
响应=自我获取响应(请求)
返回响应
现在,您可以从视图中获取每个请求的时间戳!(只是一个例子)进程请求
即使对于未知视图也应该被调用,使用这种新型的中间件,它看起来就像“仿真层”一样被调用,仅用于已知视图-因此我无法处理不映射到任何视图的请求:(