Loading django/template/utils.py +3 −1 Original line number Diff line number Diff line Loading @@ -50,6 +50,7 @@ class EngineHandler(object): ] templates = OrderedDict() backend_names = [] for tpl in self._templates: tpl = tpl.copy() try: Loading @@ -68,8 +69,9 @@ class EngineHandler(object): tpl.setdefault('OPTIONS', {}) templates[tpl['NAME']] = tpl backend_names.append(tpl['NAME']) counts = Counter(list(templates)) counts = Counter(backend_names) duplicates = [alias for alias, count in counts.most_common() if count > 1] if duplicates: raise ImproperlyConfigured( Loading tests/template_backends/test_utils.py +9 −0 Original line number Diff line number Diff line Loading @@ -35,3 +35,12 @@ class TemplateStringsTests(SimpleTestCase): engines.all() with self.assertRaises(ImproperlyConfigured): engines.all() @override_settings(TEMPLATES=[{ 'BACKEND': 'django.template.backends.django.DjangoTemplates', }, { 'BACKEND': 'django.template.backends.django.DjangoTemplates', }]) def test_backend_names_must_be_unique(self): with self.assertRaises(ImproperlyConfigured): engines.all() Loading
django/template/utils.py +3 −1 Original line number Diff line number Diff line Loading @@ -50,6 +50,7 @@ class EngineHandler(object): ] templates = OrderedDict() backend_names = [] for tpl in self._templates: tpl = tpl.copy() try: Loading @@ -68,8 +69,9 @@ class EngineHandler(object): tpl.setdefault('OPTIONS', {}) templates[tpl['NAME']] = tpl backend_names.append(tpl['NAME']) counts = Counter(list(templates)) counts = Counter(backend_names) duplicates = [alias for alias, count in counts.most_common() if count > 1] if duplicates: raise ImproperlyConfigured( Loading
tests/template_backends/test_utils.py +9 −0 Original line number Diff line number Diff line Loading @@ -35,3 +35,12 @@ class TemplateStringsTests(SimpleTestCase): engines.all() with self.assertRaises(ImproperlyConfigured): engines.all() @override_settings(TEMPLATES=[{ 'BACKEND': 'django.template.backends.django.DjangoTemplates', }, { 'BACKEND': 'django.template.backends.django.DjangoTemplates', }]) def test_backend_names_must_be_unique(self): with self.assertRaises(ImproperlyConfigured): engines.all()