Skip to content

Commit 2237f57

Browse files
committed
Conditionally import and use middleware mixin
Brings support to Django 1.10 and 1.11 Fixes #14 Fixes #15
1 parent b129d96 commit 2237f57

File tree

1 file changed

+8
-1
lines changed

1 file changed

+8
-1
lines changed

readonly/middleware.py

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,13 @@
11
from django.conf import settings
22
from django.http import HttpResponse
33
from django.utils.encoding import iri_to_uri
4+
try:
5+
# Django 1.10+
6+
from django.utils.deprecation import MiddlewareMixin
7+
except ImportError:
8+
# Before Django 1.9 and below
9+
class MiddlewareMixin(object):
10+
pass
411

512
from readonly.exceptions import DatabaseWriteDenied
613

@@ -17,7 +24,7 @@ def __init__(self, request):
1724
self['Location'] = iri_to_uri(referer or "/")
1825

1926

20-
class DatabaseReadOnlyMiddleware(django.utils.deprecation.MiddlewareMixin):
27+
class DatabaseReadOnlyMiddleware(MiddlewareMixin):
2128
def process_exception(self, request, exception):
2229
# Only process DatabaseWriteDenied exceptions
2330
if not isinstance(exception, DatabaseWriteDenied):

0 commit comments

Comments
 (0)