[Django] #22533: Allow overriding `label_suffix` on a per-field basis

16 views
Skip to first unread message

Django

unread,
Apr 28, 2014, 7:53:00 AM4/28/14
to django-...@googlegroups.com
#22533: Allow overriding `label_suffix` on a per-field basis
-------------------------------+--------------------
Reporter: julen | Owner: nobody
Type: Uncategorized | Status: new
Component: Forms | Version: 1.6
Severity: Normal | Keywords:
Triage Stage: Unreviewed | Has patch: 0
Easy pickings: 0 | UI/UX: 0
-------------------------------+--------------------
Django 1.6 onwards, `BoundField.label_tag` now includes form's
`label_suffix`.

The docs mention that ''"You can also customize the `label_suffix` on a
per-field basis using the new `label_suffix` parameter on
`label_tag()`"''.

In order to customize this on a per-field basis, you'd use `{{
field|label_tag:"=" }}` from templates, where `label_tag` is a custom
template filter which would return `field.label_tag(label_suffix='=')` for
this example.

Since this is not an attribute stored by each field, you can only override
it if you are manually rendering fields. This is not convenient if you are
using other shortcuts such as `{{ form.as_p }}` — there's no way you can
override the `label_suffix` on a per-field basis in that scenario.

I'd suggest to store `label_suffix` for each field, so it could be set
when you instantiate the field as part of a form. `BoundField.label_tag`
would then be able to be properly customized on a per-field basis. It
would use:
1. `label_suffix` from the keyword arguments, specified at run-time. If
this is `None`,
2. `self.label_suffix`, defined when adding the field to a form. If this
is `None`,
3. `self.form.label_suffix`, defined when instantiating the form.

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

Django

unread,
Apr 28, 2014, 10:14:52 AM4/28/14
to django-...@googlegroups.com
#22533: Allow overriding `label_suffix` on a per-field basis
-----------------------------+------------------------------------
Reporter: julen | Owner: nobody
Type: New feature | Status: new
Component: Forms | Version: master
Severity: Normal | Resolution:
Keywords: | Triage Stage: Accepted
Has patch: 0 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0

Easy pickings: 0 | UI/UX: 0
-----------------------------+------------------------------------
Changes (by timo):

* needs_better_patch: => 0
* needs_tests: => 0
* version: 1.6 => master
* needs_docs: => 0
* type: Uncategorized => New feature
* stage: Unreviewed => Accepted


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

Django

unread,
Apr 28, 2014, 11:03:32 AM4/28/14
to django-...@googlegroups.com
#22533: Allow overriding `label_suffix` on a per-field basis
-----------------------------+------------------------------------
Reporter: julen | Owner: julen
Type: New feature | Status: assigned

Component: Forms | Version: master
Severity: Normal | Resolution:
Keywords: | Triage Stage: Accepted
Has patch: 0 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0

Easy pickings: 0 | UI/UX: 0
-----------------------------+------------------------------------
Changes (by julen):

* owner: nobody => julen
* status: new => assigned


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

Django

unread,
Apr 29, 2014, 4:38:18 AM4/29/14
to django-...@googlegroups.com
#22533: Allow overriding `label_suffix` on a per-field basis
-----------------------------+------------------------------------
Reporter: julen | Owner: julen
Type: New feature | Status: assigned
Component: Forms | Version: master
Severity: Normal | Resolution:
Keywords: | Triage Stage: Accepted
Has patch: 1 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0

Easy pickings: 0 | UI/UX: 0
-----------------------------+------------------------------------
Changes (by julen):

* has_patch: 0 => 1


Comment:

PR available for review at:
https://github.com/django/django/pull/2616

--
Ticket URL: <https://code.djangoproject.com/ticket/22533#comment:3>

Django

unread,
May 2, 2014, 3:04:49 AM5/2/14
to django-...@googlegroups.com
#22533: Allow overriding `label_suffix` on a per-field basis
-----------------------------+------------------------------------
Reporter: julen | Owner: julen
Type: New feature | Status: assigned
Component: Forms | Version: master
Severity: Normal | Resolution:
Keywords: | Triage Stage: Accepted
Has patch: 1 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0

Easy pickings: 0 | UI/UX: 0
-----------------------------+------------------------------------

Comment (by claudep):

The patch is in very good shape. A second pass by a native speaker would
be nice for the docs/spelling (I've seen trully -> truly).

--
Ticket URL: <https://code.djangoproject.com/ticket/22533#comment:4>

Django

unread,
May 2, 2014, 3:37:48 AM5/2/14
to django-...@googlegroups.com
#22533: Allow overriding `label_suffix` on a per-field basis
-----------------------------+------------------------------------
Reporter: julen | Owner: julen
Type: New feature | Status: assigned
Component: Forms | Version: master
Severity: Normal | Resolution:
Keywords: | Triage Stage: Accepted
Has patch: 1 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0

Easy pickings: 0 | UI/UX: 0
-----------------------------+------------------------------------

Comment (by julen):

I've just fixed the spelling mistake and rebased master onto the branch
(the PR has been updated).

--
Ticket URL: <https://code.djangoproject.com/ticket/22533#comment:5>

Django

unread,
May 13, 2014, 9:13:17 AM5/13/14
to django-...@googlegroups.com
#22533: Allow overriding `label_suffix` on a per-field basis
-----------------------------+------------------------------------
Reporter: julen | Owner: julen
Type: New feature | Status: closed
Component: Forms | Version: master
Severity: Normal | Resolution: fixed

Keywords: | Triage Stage: Accepted
Has patch: 1 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0

Easy pickings: 0 | UI/UX: 0
-----------------------------+------------------------------------
Changes (by Tim Graham <timograham@…>):

* status: assigned => closed
* resolution: => fixed


Comment:

In [changeset:"5eb81ce44532596ecc1c781d93f3421a467a6206"]:
{{{
#!CommitTicketReference repository=""
revision="5eb81ce44532596ecc1c781d93f3421a467a6206"
Fixed #22533 -- Added label_suffix parameter to form fields.

Fields can now receive the `label_suffix` attribute, which will override
a form's `label_suffix`.

This enhances the possibility to customize form's `label_suffix`, allowing
to use such customizations while using shortcuts such as
`{{ form.as_p }}`.

Note that the field's own customization can be overridden at runtime by
using the `label_prefix` parameter to `BoundField.label_tag()`.

Refs #18134.
}}}

--
Ticket URL: <https://code.djangoproject.com/ticket/22533#comment:6>

Reply all
Reply to author
Forward
0 new messages