Re: [Django] #34878: Autoreload crashes with FORM_RENDERER="django.forms.renderers.TemplatesSetting".

1 view
Skip to first unread message

Django

unread,
Sep 28, 2023, 3:10:24 AM9/28/23
to django-...@googlegroups.com
#34878: Autoreload crashes with
FORM_RENDERER="django.forms.renderers.TemplatesSetting".
---------------------------------+------------------------------------
Reporter: danjac | Owner: nobody
Type: Bug | Status: new
Component: Template system | Version: 5.0
Severity: Release blocker | Resolution:
Keywords: | Triage Stage: Accepted
Has patch: 0 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
---------------------------------+------------------------------------
Changes (by Jannis Vajen):

* 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.

Django

unread,
Sep 28, 2023, 3:52:16 AM9/28/23
to django-...@googlegroups.com
#34878: Autoreload crashes with
FORM_RENDERER="django.forms.renderers.TemplatesSetting".
---------------------------------+------------------------------------
Reporter: danjac | Owner: nobody
Type: Bug | Status: new
Component: Template system | Version: 5.0
Severity: Release blocker | Resolution:
Keywords: | Triage Stage: Accepted
Has patch: 0 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 1 | UI/UX: 0
---------------------------------+------------------------------------
Changes (by Mariusz Felisiak):

* 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>

Django

unread,
Sep 28, 2023, 3:05:07 PM9/28/23
to django-...@googlegroups.com
#34878: Autoreload crashes with
FORM_RENDERER="django.forms.renderers.TemplatesSetting".
---------------------------------+------------------------------------
Reporter: danjac | Owner: nobody
Type: Bug | Status: new
Component: Template system | Version: 5.0
Severity: Release blocker | Resolution:
Keywords: | Triage Stage: Accepted
Has patch: 0 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 1 | UI/UX: 0
---------------------------------+------------------------------------

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>

Django

unread,
Sep 28, 2023, 3:30:48 PM9/28/23
to django-...@googlegroups.com
#34878: Autoreload crashes with
FORM_RENDERER="django.forms.renderers.TemplatesSetting".
---------------------------------+------------------------------------
Reporter: danjac | Owner: nobody
Type: Bug | Status: new
Component: Template system | Version: 5.0
Severity: Release blocker | Resolution:
Keywords: | Triage Stage: Accepted
Has patch: 1 | Needs documentation: 0

Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 1 | UI/UX: 0
---------------------------------+------------------------------------
Changes (by danjac):

* has_patch: 0 => 1


--
Ticket URL: <https://code.djangoproject.com/ticket/34878#comment:6>

Django

unread,
Sep 28, 2023, 4:35:26 PM9/28/23
to django-...@googlegroups.com
#34878: Autoreload crashes with
FORM_RENDERER="django.forms.renderers.TemplatesSetting".
---------------------------------+------------------------------------
Reporter: danjac | Owner: nobody
Type: Bug | Status: new
Component: Template system | Version: 5.0
Severity: Release blocker | Resolution:
Keywords: | Triage Stage: Accepted
Has patch: 1 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 1

Easy pickings: 1 | UI/UX: 0
---------------------------------+------------------------------------
Changes (by Natalia Bidart):

* needs_better_patch: 0 => 1


--
Ticket URL: <https://code.djangoproject.com/ticket/34878#comment:7>

Django

unread,
Sep 29, 2023, 12:05:48 AM9/29/23
to django-...@googlegroups.com
#34878: Autoreload crashes with
FORM_RENDERER="django.forms.renderers.TemplatesSetting".
-------------------------------------+-------------------------------------
Reporter: danjac | Owner: danjac
Type: Bug | Status: assigned

Component: Template system | Version: 5.0
Severity: Release blocker | Resolution:
Keywords: | Triage Stage: Ready for
| checkin

Has patch: 1 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0

Easy pickings: 1 | UI/UX: 0
-------------------------------------+-------------------------------------
Changes (by Mariusz Felisiak):

* 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>

Django

unread,
Sep 29, 2023, 12:36:56 AM9/29/23
to django-...@googlegroups.com
#34878: Autoreload crashes with
FORM_RENDERER="django.forms.renderers.TemplatesSetting".
-------------------------------------+-------------------------------------
Reporter: danjac | Owner: danjac
Type: Bug | Status: closed

Component: Template system | Version: 5.0
Severity: Release blocker | Resolution: fixed

Keywords: | Triage Stage: Ready for
| checkin
Has patch: 1 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 1 | UI/UX: 0
-------------------------------------+-------------------------------------
Changes (by Mariusz Felisiak <felisiak.mariusz@…>):

* 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>

Django

unread,
Sep 29, 2023, 12:37:23 AM9/29/23
to django-...@googlegroups.com
#34878: Autoreload crashes with
FORM_RENDERER="django.forms.renderers.TemplatesSetting".
-------------------------------------+-------------------------------------
Reporter: danjac | Owner: danjac
Type: Bug | Status: closed
Component: Template system | Version: 5.0
Severity: Release blocker | Resolution: fixed
Keywords: | Triage Stage: Ready for
| checkin
Has patch: 1 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 1 | UI/UX: 0
-------------------------------------+-------------------------------------

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>

Reply all
Reply to author
Forward
0 new messages