[Django] #33345: Forms does not search external template directories

10 views
Skip to first unread message

Django

unread,
Dec 7, 2021, 12:15:37 PM12/7/21
to django-...@googlegroups.com
#33345: Forms does not search external template directories
-------------------------------------+-------------------------------------
Reporter: Guillaume | Owner: nobody
Quenneville |
Type: Bug | Status: new
Component: Template | Version: 4.0
system | Keywords: template discovery
Severity: Normal | forms
Triage Stage: | Has patch: 0
Unreviewed |
Needs documentation: 0 | Needs tests: 0
Patch needs improvement: 0 | Easy pickings: 0
UI/UX: 0 |
-------------------------------------+-------------------------------------
It seems like the new form templates ignores external template
directories? (or I did something silly). It works for app's local template
directory.

I created a test repo
https://github.com/GuillaumeQuenneville/djangoform.git

Django finds home.html (parent template) but does not find the
item_form.html template in the same dir.

Adding the form template to the test app's local templates folder fixes
the discovery issue (rename item_form.html.bk -> item_form.html in repo)

As a test, I turned on the debugger before the render in the view. Calling
render(request, 'home.html') returns a 200 and no error, calling
form.render(template_name='home.html') says home.html not found, idem for
form.render() saying item_form.html not found. So there is a difference in
template discovery??

--
Ticket URL: <https://code.djangoproject.com/ticket/33345>
Django <https://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.

Django

unread,
Dec 7, 2021, 2:23:39 PM12/7/21
to django-...@googlegroups.com
#33345: Forms does not search external template directories
-------------------------------------+-------------------------------------
Reporter: Guillaume | Owner: nobody
Quenneville |
Type: Bug | Status: new
Component: Forms | Version: 4.0
Severity: Normal | Resolution:
Keywords: template discovery | Triage Stage:
forms | Unreviewed
Has patch: 0 | Needs documentation: 0

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

* cc: Guillaume Quenneville (added)
* component: Template system => Forms


--
Ticket URL: <https://code.djangoproject.com/ticket/33345#comment:1>

Django

unread,
Dec 7, 2021, 2:33:09 PM12/7/21
to django-...@googlegroups.com
#33345: Forms does not search external template directories
-------------------------------------+-------------------------------------
Reporter: Guillaume | Owner: nobody
Quenneville |
Type: Bug | Status: closed
Component: Forms | Version: 4.0
Severity: Normal | Resolution: invalid

Keywords: template discovery | Triage Stage:
forms | Unreviewed
Has patch: 0 | Needs documentation: 0

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

* cc: David Smith (added)
* status: new => closed
* resolution: => invalid


Comment:

`Form.render()` uses
[https://docs.djangoproject.com/en/4.0/ref/forms/api/#django.forms.Form.default_renderer
Form.default_renderer] when the `renderer` argument is not specified, and
`Form.default_renderer` defaults to the
[https://docs.djangoproject.com/en/4.0/ref/settings/#std:setting-
FORM_RENDERER FORM_RENDERER] setting which defaults to
[https://docs.djangoproject.com/en/4.0/ref/forms/renderers/#django.forms.renderers.DjangoTemplates
`'django.forms.renderers.DjangoTemplates'`]. If you want to render
templates with customizations from your `TEMPLATES` setting, you should
change the renderer to use the
[https://docs.djangoproject.com/en/4.0/ref/forms/renderers/#django.forms.renderers.TemplatesSetting
`TemplatesSetting`] renderer at any of these levels.

--
Ticket URL: <https://code.djangoproject.com/ticket/33345#comment:2>

Reply all
Reply to author
Forward
0 new messages