diff options
| author | Gabe Jackson <gabejackson@cxg.ch> | 2012-06-08 15:32:35 +0200 |
|---|---|---|
| committer | Tim Graham <timograham@gmail.com> | 2013-06-10 14:23:15 -0400 |
| commit | 584bd14dcfdee9585fec7794d53ce120ea73d0bc (patch) | |
| tree | 7303b054d610767073934793ae1223404444c9de /django/forms/forms.py | |
| parent | a643e4d200e12d1570174fec343a27d6bc47f735 (diff) | |
Fixed #18134 -- BoundField.label_tag now includes the form's label_suffix
There was an inconsistency between how the label_tag for forms were
generated depending on which method was used: as_p, as_ul and as_table
contained code to append the label_suffix where as label_tag called on a
form field directly did NOT append the label_suffix. The code for
appending the label_suffix has been moved in to the label_tag code of
the field and the HTML generation code for as_p, as_ul and as_table now
calls this code as well.
This is a backwards incompatible change because users who have added the
label_suffix manually in their templates may now get double label_suffix
characters in their forms.
Diffstat (limited to 'django/forms/forms.py')
| -rw-r--r-- | django/forms/forms.py | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/django/forms/forms.py b/django/forms/forms.py index 0c598ac775..e6a11f28fb 100644 --- a/django/forms/forms.py +++ b/django/forms/forms.py @@ -170,11 +170,6 @@ class BaseForm(object): if bf.label: label = conditional_escape(force_text(bf.label)) - # Only add the suffix if the label does not end in - # punctuation. - if self.label_suffix: - if label[-1] not in ':?.!': - label = format_html('{0}{1}', label, self.label_suffix) label = bf.label_tag(label) or '' else: label = '' @@ -522,6 +517,10 @@ class BoundField(object): If attrs are given, they're used as HTML attributes on the <label> tag. """ contents = contents or self.label + # Only add the suffix if the label does not end in punctuation. + if self.form.label_suffix: + if contents[-1] not in ':?.!': + contents = format_html('{0}{1}', contents, self.form.label_suffix) widget = self.field.widget id_ = widget.attrs.get('id') or self.auto_id if id_: |
