[1.10.x] Fixed #26716 -- Made CurrentSiteMiddleware compatible with new-style middleware.
Backport of 5e3f4c2e53
from master
This commit is contained in:
parent
34f13e030b
commit
bd7de3cb87
|
@ -1,7 +1,9 @@
|
||||||
|
from django.utils.deprecation import MiddlewareMixin
|
||||||
|
|
||||||
from .shortcuts import get_current_site
|
from .shortcuts import get_current_site
|
||||||
|
|
||||||
|
|
||||||
class CurrentSiteMiddleware(object):
|
class CurrentSiteMiddleware(MiddlewareMixin):
|
||||||
"""
|
"""
|
||||||
Middleware that sets `site` attribute to request object.
|
Middleware that sets `site` attribute to request object.
|
||||||
"""
|
"""
|
||||||
|
|
|
@ -11,7 +11,7 @@ from django.contrib.sites.requests import RequestSite
|
||||||
from django.contrib.sites.shortcuts import get_current_site
|
from django.contrib.sites.shortcuts import get_current_site
|
||||||
from django.core.exceptions import ObjectDoesNotExist, ValidationError
|
from django.core.exceptions import ObjectDoesNotExist, ValidationError
|
||||||
from django.db.models.signals import post_migrate
|
from django.db.models.signals import post_migrate
|
||||||
from django.http import HttpRequest
|
from django.http import HttpRequest, HttpResponse
|
||||||
from django.test import TestCase, modify_settings, override_settings
|
from django.test import TestCase, modify_settings, override_settings
|
||||||
from django.test.utils import captured_stdout
|
from django.test.utils import captured_stdout
|
||||||
|
|
||||||
|
@ -305,9 +305,15 @@ class CreateDefaultSiteTests(TestCase):
|
||||||
|
|
||||||
class MiddlewareTest(TestCase):
|
class MiddlewareTest(TestCase):
|
||||||
|
|
||||||
def test_request(self):
|
def test_old_style_request(self):
|
||||||
""" Makes sure that the request has correct `site` attribute. """
|
""" Makes sure that the request has correct `site` attribute. """
|
||||||
middleware = CurrentSiteMiddleware()
|
middleware = CurrentSiteMiddleware()
|
||||||
request = HttpRequest()
|
request = HttpRequest()
|
||||||
middleware.process_request(request)
|
middleware.process_request(request)
|
||||||
self.assertEqual(request.site.id, settings.SITE_ID)
|
self.assertEqual(request.site.id, settings.SITE_ID)
|
||||||
|
|
||||||
|
def test_request(self):
|
||||||
|
def get_response(request):
|
||||||
|
return HttpResponse(str(request.site.id))
|
||||||
|
response = CurrentSiteMiddleware(get_response)(HttpRequest())
|
||||||
|
self.assertContains(response, settings.SITE_ID)
|
||||||
|
|
Loading…
Reference in New Issue