Loading django/urls/resolvers.py +2 −1 Original line number Diff line number Diff line Loading @@ -11,6 +11,7 @@ import functools import re from importlib import import_module from django.conf import settings from django.core.exceptions import ImproperlyConfigured from django.utils import lru_cache, six from django.utils.datastructures import MultiValueDict Loading Loading @@ -388,7 +389,7 @@ class LocaleRegexURLResolver(RegexURLResolver): @property def regex(self): language_code = get_language() language_code = get_language() or settings.LANGUAGE_CODE if language_code not in self._regex_dict: regex_compiled = re.compile('^%s/' % language_code, re.UNICODE) self._regex_dict[language_code] = regex_compiled Loading tests/i18n/patterns/tests.py +3 −0 Original line number Diff line number Diff line Loading @@ -2,6 +2,7 @@ from __future__ import unicode_literals import os from django.conf import settings from django.core.exceptions import ImproperlyConfigured from django.http import HttpResponsePermanentRedirect from django.middleware.locale import LocaleMiddleware Loading Loading @@ -75,6 +76,8 @@ class URLPrefixTests(URLTestCaseBase): self.assertEqual(reverse('prefixed'), '/en/prefixed/') with translation.override('nl'): self.assertEqual(reverse('prefixed'), '/nl/prefixed/') with translation.override(None): self.assertEqual(reverse('prefixed'), '/%s/prefixed/' % settings.LANGUAGE_CODE) @override_settings(ROOT_URLCONF='i18n.patterns.urls.wrong') def test_invalid_prefix_use(self): Loading Loading
django/urls/resolvers.py +2 −1 Original line number Diff line number Diff line Loading @@ -11,6 +11,7 @@ import functools import re from importlib import import_module from django.conf import settings from django.core.exceptions import ImproperlyConfigured from django.utils import lru_cache, six from django.utils.datastructures import MultiValueDict Loading Loading @@ -388,7 +389,7 @@ class LocaleRegexURLResolver(RegexURLResolver): @property def regex(self): language_code = get_language() language_code = get_language() or settings.LANGUAGE_CODE if language_code not in self._regex_dict: regex_compiled = re.compile('^%s/' % language_code, re.UNICODE) self._regex_dict[language_code] = regex_compiled Loading
tests/i18n/patterns/tests.py +3 −0 Original line number Diff line number Diff line Loading @@ -2,6 +2,7 @@ from __future__ import unicode_literals import os from django.conf import settings from django.core.exceptions import ImproperlyConfigured from django.http import HttpResponsePermanentRedirect from django.middleware.locale import LocaleMiddleware Loading Loading @@ -75,6 +76,8 @@ class URLPrefixTests(URLTestCaseBase): self.assertEqual(reverse('prefixed'), '/en/prefixed/') with translation.override('nl'): self.assertEqual(reverse('prefixed'), '/nl/prefixed/') with translation.override(None): self.assertEqual(reverse('prefixed'), '/%s/prefixed/' % settings.LANGUAGE_CODE) @override_settings(ROOT_URLCONF='i18n.patterns.urls.wrong') def test_invalid_prefix_use(self): Loading