Fixed a problem where the middleware accessed POST on every request, freezing upload_...
[django-pagination.git] / pagination / middleware.py
index 5e917c5..f8a2a6f 100644 (file)
@@ -1,10 +1,17 @@
+def get_page(self):
+    """
+    A function which will be monkeypatched onto the request to get the current
+    integer representing the current page.
+    """
+    try:
+        return int(self.REQUEST['page'])
+    except (KeyError, ValueError, TypeError):
+        return 1
+
 class PaginationMiddleware(object):
     """
     Inserts a variable representing the current page onto the request object if
     it exists in either **GET** or **POST** portions of the request.
     """
     def process_request(self, request):
-        try:
-            request.page = int(request.REQUEST['page'])
-        except (KeyError, ValueError, TypeError):
-            request.page = 1
\ No newline at end of file
+        request.__class__.page = property(get_page)
\ No newline at end of file