Browse Source

Refs #26601 -- Used new-style middlewares in documentation.

Claude Paroz 5 years ago
parent
commit
d71497bb24
2 changed files with 12 additions and 7 deletions
  1. 6 4
      docs/ref/request-response.txt
  2. 6 3
      docs/topics/i18n/timezones.txt

+ 6 - 4
docs/ref/request-response.txt

@@ -286,16 +286,17 @@ Methods
         behind multiple proxies. One solution is to use middleware to rewrite
         the proxy headers, as in the following example::
 
-            from django.utils.deprecation import MiddlewareMixin
-
-            class MultipleProxyMiddleware(MiddlewareMixin):
+            class MultipleProxyMiddleware:
                 FORWARDED_FOR_FIELDS = [
                     'HTTP_X_FORWARDED_FOR',
                     'HTTP_X_FORWARDED_HOST',
                     'HTTP_X_FORWARDED_SERVER',
                 ]
 
-                def process_request(self, request):
+                def __init__(self, get_response):
+                    self.get_response = get_response
+
+                def __call__(self, request):
                     """
                     Rewrites the proxy headers so that only the most
                     recent proxy is used.
@@ -305,6 +306,7 @@ Methods
                             if ',' in request.META[field]:
                                 parts = request.META[field].split(',')
                                 request.META[field] = parts[-1].strip()
+                    return self.get_response(request)
 
         This middleware should be positioned before any other middleware that
         relies on the value of :meth:`~HttpRequest.get_host()` -- for instance,

+ 6 - 3
docs/topics/i18n/timezones.txt

@@ -169,15 +169,18 @@ Add the following middleware to :setting:`MIDDLEWARE`::
     import pytz
 
     from django.utils import timezone
-    from django.utils.deprecation import MiddlewareMixin
 
-    class TimezoneMiddleware(MiddlewareMixin):
-        def process_request(self, request):
+    class TimezoneMiddleware:
+        def __init__(self, get_response):
+            self.get_response = get_response
+
+        def __call__(self, request):
             tzname = request.session.get('django_timezone')
             if tzname:
                 timezone.activate(pytz.timezone(tzname))
             else:
                 timezone.deactivate()
+            return self.get_response(request)
 
 Create a view that can set the current timezone::