Fixed #20618 -- Fixed regression in `BoundField.label_tag`.

This commit is contained in:
Baptiste Mispelon 2013-06-18 17:49:45 +02:00
parent ee77d4b253
commit 3128f3d38d
2 changed files with 9 additions and 3 deletions

View File

@ -518,8 +518,7 @@ class BoundField(object):
""" """
contents = contents or self.label contents = contents or self.label
# Only add the suffix if the label does not end in punctuation. # Only add the suffix if the label does not end in punctuation.
if self.form.label_suffix: if self.form.label_suffix and contents and contents[-1] not in ':?.!':
if contents[-1] not in ':?.!':
contents = format_html('{0}{1}', contents, self.form.label_suffix) contents = format_html('{0}{1}', contents, self.form.label_suffix)
widget = self.field.widget widget = self.field.widget
id_ = widget.attrs.get('id') or self.auto_id id_ = widget.attrs.get('id') or self.auto_id

View File

@ -1863,3 +1863,10 @@ class FormsTestCase(TestCase):
form = SomeForm() form = SomeForm()
self.assertHTMLEqual(form['custom'].label_tag(), '<label for="custom_id_custom">Custom:</label>') self.assertHTMLEqual(form['custom'].label_tag(), '<label for="custom_id_custom">Custom:</label>')
self.assertHTMLEqual(form['empty'].label_tag(), '<label>Empty:</label>') self.assertHTMLEqual(form['empty'].label_tag(), '<label>Empty:</label>')
def test_boundfield_empty_label(self):
class SomeForm(Form):
field = CharField(label='')
boundfield = SomeForm()['field']
self.assertHTMLEqual(boundfield.label_tag(), '<label for="id_field"></label>')