* cc: Jannis Vajen (added)
--
Ticket URL: <https://code.djangoproject.com/ticket/34878#comment:3>
Django <https://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.
* easy: 0 => 1
Comment:
The following could be a regression test:
{{{#!diff
diff --git a/tests/template_tests/test_autoreloader.py
b/tests/template_tests/test_autoreloader.py
index 4fd7549a70..91ef94406c 100644
--- a/tests/template_tests/test_autoreloader.py
+++ b/tests/template_tests/test_autoreloader.py
@@ -1,6 +1,7 @@
from pathlib import Path
from unittest import mock
+from django.forms.renderers import get_default_renderer
from django.template import autoreload
from django.test import SimpleTestCase, override_settings
from django.test.utils import require_jinja2
@@ -68,6 +69,17 @@ class TemplateReloadTests(SimpleTestCase):
self.assertIs(autoreload.template_changed(None, template_path),
True)
mock_loader_reset.assert_called_once()
+
@override_settings(FORM_RENDERER="django.forms.renderers.TemplatesSetting")
+ @mock.patch("django.template.loaders.cached.Loader.reset")
+ def test_form_template_reset_template_change_no_djangotemplates(
+ self, mock_loader_reset,
+ ):
+ get_default_renderer.cache_clear()
+ template_path = Path(__file__).parent / "templates" /
"index.html"
+ self.assertIs(autoreload.template_changed(None, template_path),
True)
+ mock_loader_reset.assert_not_called()
+ get_default_renderer.cache_clear()
+
@mock.patch("django.forms.renderers.get_default_renderer")
def test_form_template_reset_non_template_change(self,
mock_renderer):
self.assertIsNone(autoreload.template_changed(None,
Path(__file__)))
}}}
--
Ticket URL: <https://code.djangoproject.com/ticket/34878#comment:4>
Comment (by danjac):
I've submitted a PR as per suggestions:
https://github.com/django/django/pull/17316
--
Ticket URL: <https://code.djangoproject.com/ticket/34878#comment:5>
* has_patch: 0 => 1
--
Ticket URL: <https://code.djangoproject.com/ticket/34878#comment:6>
* needs_better_patch: 0 => 1
--
Ticket URL: <https://code.djangoproject.com/ticket/34878#comment:7>
* owner: nobody => danjac
* needs_better_patch: 1 => 0
* status: new => assigned
* stage: Accepted => Ready for checkin
--
Ticket URL: <https://code.djangoproject.com/ticket/34878#comment:8>
* status: assigned => closed
* resolution: => fixed
Comment:
In [changeset:"fe835c2355072fc2b7a0fbbc57d05477c7ee6ce9" fe835c23]:
{{{
#!CommitTicketReference repository=""
revision="fe835c2355072fc2b7a0fbbc57d05477c7ee6ce9"
Fixed #34878 -- Fixed autoreloader crash when FORM_RENDERER is set to
TemplatesSetting.
Regression in 439242c5943e16dd5a3a68fadac76e5e723eb323.
}}}
--
Ticket URL: <https://code.djangoproject.com/ticket/34878#comment:9>
Comment (by Mariusz Felisiak <felisiak.mariusz@…>):
In [changeset:"e60fe3bb05d3db3e7789458d05974c6761469701" e60fe3b]:
{{{
#!CommitTicketReference repository=""
revision="e60fe3bb05d3db3e7789458d05974c6761469701"
[5.0.x] Fixed #34878 -- Fixed autoreloader crash when FORM_RENDERER is set
to TemplatesSetting.
Regression in 439242c5943e16dd5a3a68fadac76e5e723eb323.
Backport of fe835c2355072fc2b7a0fbbc57d05477c7ee6ce9 from main
}}}
--
Ticket URL: <https://code.djangoproject.com/ticket/34878#comment:10>