Django 1.10:"new style" 等同于 `process_request()` 的中间件

Django 1.10: "new style" middleware equivalent of `process_request()`

如何创建 "new style" 中间件,它实现了与 "old style" 一起使用 process_request() 挂钩的等效实现?

我已经使用 MiddlewareMixin...

调整了 1.10 之前的中间件 process_request()
from django.utils.deprecation import MiddlewareMixin

class MyCustomMiddleware(MiddlewareMixin):

    def process_request(self, request):
        # My request logic
        return response

我想知道如何执行 "pure" >1.9 "new style" 实施。我尝试通过像这样实现 __init__()__call__() 来做到这一点,但运气不佳:

class MyCustomMiddleware(object):

    def __init__(self, get_response):
        self.get_response = get_response

    def __call__(self, request):
        # My request logic
        return response

谢谢。

举个例子...

class TimeStampMiddleware(object):

    def __init__(self, get_response):
        self.get_response = get_response

    def __call__(self, request):
        request.timestamp = datetime.utcnow().strftime('%Y-%m-%d %H:%M:%S')

        response = self.get_response(request)
        return response

现在您可以从您的视图中获取每个请求的时间戳! (仅为示例)