mirror of
https://github.com/django/django.git
synced 2025-05-06 06:56:30 +00:00
[4.1.x] Fixed #33800 -- Fixed system check for the same template tag module in installed apps and template tag libraries.
Thanks Claude Paroz for the report. Regression in 004b4620f6f4ad87261e149898940f2dcd5757ef. Backport of 083bfca6b6c00d0f45837a65c2db721eaf46bc07 from main
This commit is contained in:
parent
531c96de34
commit
b37a4affcd
@ -50,15 +50,15 @@ def check_string_if_invalid_is_string(app_configs, **kwargs):
|
||||
@register(Tags.templates)
|
||||
def check_for_template_tags_with_the_same_name(app_configs, **kwargs):
|
||||
errors = []
|
||||
libraries = defaultdict(list)
|
||||
libraries = defaultdict(set)
|
||||
|
||||
for conf in settings.TEMPLATES:
|
||||
custom_libraries = conf.get("OPTIONS", {}).get("libraries", {})
|
||||
for module_name, module_path in custom_libraries.items():
|
||||
libraries[module_name].append(module_path)
|
||||
libraries[module_name].add(module_path)
|
||||
|
||||
for module_name, module_path in get_template_tag_modules():
|
||||
libraries[module_name].append(module_path)
|
||||
libraries[module_name].add(module_path)
|
||||
|
||||
for library_name, items in libraries.items():
|
||||
if len(items) > 1:
|
||||
@ -66,7 +66,7 @@ def check_for_template_tags_with_the_same_name(app_configs, **kwargs):
|
||||
Error(
|
||||
E003.msg.format(
|
||||
repr(library_name),
|
||||
", ".join(repr(item) for item in items),
|
||||
", ".join(repr(item) for item in sorted(items)),
|
||||
),
|
||||
id=E003.id,
|
||||
)
|
||||
|
@ -158,6 +158,19 @@ class CheckTemplateTagLibrariesWithSameName(SimpleTestCase):
|
||||
[self.error_same_tags],
|
||||
)
|
||||
|
||||
@override_settings(
|
||||
INSTALLED_APPS=["check_framework.template_test_apps.same_tags_app_1"]
|
||||
)
|
||||
def test_template_tags_same_library_in_installed_apps_libraries(self):
|
||||
with self.settings(
|
||||
TEMPLATES=[
|
||||
self.get_settings(
|
||||
"same_tags", "same_tags_app_1.templatetags.same_tags"
|
||||
),
|
||||
]
|
||||
):
|
||||
self.assertEqual(check_for_template_tags_with_the_same_name(None), [])
|
||||
|
||||
@override_settings(
|
||||
INSTALLED_APPS=["check_framework.template_test_apps.same_tags_app_1"]
|
||||
)
|
||||
|
Loading…
x
Reference in New Issue
Block a user