#35233: Push templates checks down to backend engine classes ------------------------------------------------+------------------------ Reporter: Adam Johnson | Owner: nobody Type: Cleanup/optimization | Status: new Component: Core (System checks) | Version: dev Severity: Normal | Keywords: Triage Stage: Unreviewed | Has patch: 0 Needs documentation: 0 | Needs tests: 0 Patch needs improvement: 0 | Easy pickings: 0 UI/UX: 0 | ------------------------------------------------+------------------------ Currently, the three system checks for template settings are individual functions in [https://github.com/django/django/blob/main/django/core/checks/templates.py django.core.checks.templates]. This structure leads to some issues:
1. The checks are specific to DTL (Django Template Language), but get run for all backends. DTL-specific code gets loaded and run even when not using it, notably the fairly slow `get_template_tag_modules()`. 2. `check_for_template_tags_with_the_same_name` is inaccurate because it combines `libraries` from all template backends, so might report an issue when none exists. 3. The checks are still run when no template backend is configured (`settings.TEMPLATES = []`). I propose the checks be restructured to live within the engine classes in `django.template.backends`, adopting the same pattern used for model and field checks, admin checks, etc. In practice, this would mean adding a dummy `BaseEngine.check()` method, then moving the existing checks into methods called by an overridden `DjangoTemplates.check()`. A single function left in `django.core.checks.templates` would loop over `django.template.engines.all()` to combine results from backends’ `check()` methods. -- Ticket URL: <https://code.djangoproject.com/ticket/35233> Django <https://code.djangoproject.com/> The Web framework for perfectionists with deadlines. -- You received this message because you are subscribed to the Google Groups "Django updates" group. To unsubscribe from this group and stop receiving emails from it, send an email to django-updates+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/django-updates/0107018dbe7fa9e9-acafe270-0bb4-48e0-81bf-97f525d31e3e-000000%40eu-central-1.amazonses.com.