#12856: Decide on public API/documentation for form.BoundField attributes
-------------------------------------+-------------------------------------
Reporter: mnbayazit | Owner: nobody
Type: | Status: new
Cleanup/optimization | Component: Forms
Milestone: | Severity: Normal
Version: SVN | Keywords: boundfield required
Resolution: | is_hidden auto_id
Triage Stage: Accepted | Has patch: 1
Needs documentation: 1 | Needs tests: 0
Patch needs improvement: 1 | Easy pickings: 0
UI/UX: 0 |
-------------------------------------+-------------------------------------
Changes (by jsdalton):
* cc: jim.dalton@… (added)
* ui_ux: => 0
* type: New feature => Cleanup/optimization
Comment:
I think a more appropriate place to extend the documentation on
`BoundField` is in the Forms API document:
https://docs.djangoproject.com/en/dev/ref/forms/api/#more-granular-output
. That's not to say we should not extend the Working With Forms docs a
bit, but if I'm a developer and I want to find out more about what
`BoundField` has to offer, Forms API is likely the place I will begin.
In an effort to help push this forward, here is what we have documented
now:
* `class ``BoundField```
* `BoundField.errors`
* `BoundField.css_classes()`
* `BoundField.value()`
Then in Working With Forms the following are documented (albeit as
template output, not explicitly as methods of BoundField).
* `BoundField.label`
* `BoundField.label_tag`
* `BoundField.html_name`
* `BoundField.help_text`
* `BoundField.errors`
* `BoundField.is_hidden`
Here is what is missing (i.e. not covered by either of the above).
* `BoundField.field`
* `BoundField.html_initial_name`
* `BoundField.html_initial_id`
* `BoundField.as_widget()`
* `BoundField.as_text()`
* `BoundField.as_textarea()`
* `BoundField.as_hidden()`
* `BoundField.data`
* `BoundField.auto_id`
* `BoundField.id_for_label`
My two cents:
* It seems like all of the attributes described in working with forms
deserve a mention in Forms API? It strikes me as odd to read the API docs
on a class with no mention of the some of the most important attributes on
it.
* `BoundField.id_for_label` is almost a no brainer for me. If you're doing
granular output, e.g. writing your own label tag, then getting the id is
necessary.
* I've used `BoundField.auto_id`in the past when (I now realize) I should
have been using id_for_label. It might be worth noting that id_for_label
is recommended for template output over auto_id?
* I have no opinion on documenting the `as_*()` functions. Seems
unnecessary to me, they are mostly internal.
* `required` is documented on
https://docs.djangoproject.com/en/dev/ref/forms/fields/ , which is a
different beast IMO. I'd argue the documentation for those should stay
there. Maybe we could put a note with a link to the fields doc?
* Petr's patch adding the field to BoundField might be a good one, but I'm
not sure it belongs here? It strikes me as a separate issue. This seems to
primarily be a ticket related to improving the documentation of existing
fields.
--
Ticket URL: <https://code.djangoproject.com/ticket/12856#comment:10>
Django <https://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.
--
You received this message because you are subscribed to the Google Groups
"Django updates" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/django-updates?hl=en.