1
0
mirror of https://github.com/django/django.git synced 2025-10-31 09:41:08 +00:00

Fixed #27402 -- Fixed incorrect LocaleMiddleware redirects with prefix_default_language=False.

This commit is contained in:
Krzysztof Urbaniak
2016-11-05 12:56:34 +01:00
committed by Tim Graham
parent ade52ef71f
commit b8a815e9df
4 changed files with 22 additions and 1 deletions

View File

@@ -1860,6 +1860,20 @@ class UnprefixedDefaultLanguageTests(SimpleTestCase):
response = self.client.get('/de-simple-page/')
self.assertEqual(response.content, b'Yes')
def test_no_redirect_on_404(self):
"""
A request for a nonexistent URL shouldn't cause a redirect to
/<defaut_language>/<request_url> when prefix_default_language=False and
/<default_language>/<request_url> has a URL match (#27402).
"""
# A match for /group1/group2/ must exist for this to act as a
# regression test.
response = self.client.get('/group1/group2/')
self.assertEqual(response.status_code, 200)
response = self.client.get('/nonexistent/')
self.assertEqual(response.status_code, 404)
@override_settings(
USE_I18N=True,

View File

@@ -6,5 +6,6 @@ from django.utils.translation import ugettext_lazy as _
urlpatterns = i18n_patterns(
url(r'^(?P<arg>[\w-]+)-page', lambda request, **arg: HttpResponse(_("Yes"))),
url(r'^simple/$', lambda r: HttpResponse(_("Yes"))),
url(r'^(.+)/(.+)/$', lambda *args: HttpResponse()),
prefix_default_language=False,
)