{{{
#!python
from django import forms
class MyWidget(forms.MultiWidget):
def __init__(self):
widgets = [
forms.RadioSelect(
choices=[('aaa', 'bbb')]
)
]
super(MyWidget, self).__init__(
widgets=widgets,
attrs={},
)
def decompress(self, v):
return []
print(MyWidget().render('wname', None))
}}}
Actual output:
{{{
<ul>
<li><input type="radio" name="wname_0" value="aaa" />
</li>
</ul>
}}}
Expected output:
{{{
<ul>
<li><label><input type="radio" name="wname_0" value="aaa" />
bbb</label>
</li>
</ul>
}}}
It seems that this problem is caused by the following reasons:
- a template of {{{RadioSelect}}} requires {{{wrap_label}}} context
varialbe to render LABEL elements
- {{{MultiWidget.get_context()}}} drops {{{wrap_label}}}
--
Ticket URL: <https://code.djangoproject.com/ticket/29200>
Django <https://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.
* type: Uncategorized => Bug
--
Ticket URL: <https://code.djangoproject.com/ticket/29200#comment:1>
* stage: Unreviewed => Accepted
Comment:
That's a regression in b52c73008a9d67e9ddbb841872dc15cdd3d6ee01.
--
Ticket URL: <https://code.djangoproject.com/ticket/29200#comment:2>
* owner: nobody => Tim Graham
* status: new => assigned
--
Ticket URL: <https://code.djangoproject.com/ticket/29200#comment:3>
* has_patch: 0 => 1
Comment:
[https://github.com/django/django/pull/9782 PR]
--
Ticket URL: <https://code.djangoproject.com/ticket/29200#comment:4>
* stage: Accepted => Ready for checkin
--
Ticket URL: <https://code.djangoproject.com/ticket/29200#comment:5>
* status: assigned => closed
* resolution: => fixed
Comment:
In [changeset:"87dc0844a634360182bcb74d491508111ef8a652" 87dc0844]:
{{{
#!CommitTicketReference repository=""
revision="87dc0844a634360182bcb74d491508111ef8a652"
Fixed #29200 -- Fixed label rendering when using RadioSelect and
CheckboxSelectMultiple with MultiWidget.
}}}
--
Ticket URL: <https://code.djangoproject.com/ticket/29200#comment:6>
Comment (by karyon):
there's no backport to 2.0.x, is that intended?
--
Ticket URL: <https://code.djangoproject.com/ticket/29200#comment:7>
Comment (by Tim Graham):
Yes, it doesn't qualify for a backport based on the
[https://docs.djangoproject.com/en/dev/internals/release-process
/#supported-versions supported versions policy]
--
Ticket URL: <https://code.djangoproject.com/ticket/29200#comment:8>