﻿id	summary	reporter	owner	description	type	status	component	version	severity	resolution	keywords	cc	stage	has_patch	needs_docs	needs_tests	needs_better_patch	easy	ui_ux
34532	Form.default_renderer is ignored in formsets.	Ryan Burt	David Smith	"Overriding default_renderer functionality in the ModelForm class 

This issue only came into effect on my project upon upgrading from 3.2 to 4.2




settings.py:
{{{
FORM_RENDERER = 'django.forms.renderers.TemplatesSetting'
}}}


myapp/forms.py:
{{{
class MyModelForm(forms.ModelForm):
    default_renderer = CustomRenderer
   
    class Meta:
        model = MyModel

}}}

Each time the forms api hits the forms.forms.BaseForm.__init__() method in forms/forms.py, renderer is always not null and the condition for using the default_renderer is never reached:

{{{

(line 120 in forms/forms.py)
# Initialize form renderer. Use a global default if not specified
# either as an argument or as self.default_renderer.
if renderer is None:
    if self.default_renderer is None:
        renderer = get_default_renderer()
    else:
        renderer = self.default_renderer
        if isinstance(self.default_renderer, type):
             renderer = renderer()
    self.renderer = renderer


}}}

Different FORM_RENDERER values seem to have no effect. If I override the ModelForm init method the renderer is passed in the kwargs, so it is possible to set it to None. I'm interested in understanding if I have a compatibility issue in my settings as a result of upgrading versions, or if the above code block could be restructured to preference default_renderer if it is not none: 

{{{
# Initialize form renderer. Use a global default if not specified
# either as an argument or as self.default_renderer.
if self.default_renderer:
    if isinstance(self.default_renderer, type):
        renderer = self.default_renderer()
    else:
        renderer = self.default_renderer
elif renderer is None:
        renderer = get_default_renderer()
self.renderer = renderer 
}}}"	Bug	closed	Forms	4.2	Normal	fixed	default_renderer	David Smith	Ready for checkin	1	0	0	0	0	0
