Attrs¶
Base class: Namespace
The attrs
namespace on Field
, Form
, Header
, Cell
and more is used to customize HTML attributes.
form = Form(
auto__model=Album,
fields__artist__attrs__foo='bar',
fields__name__attrs__class__bar=True,
fields__name__attrs__style__baz='qwe',
)
or more succinctly:
form = Form(
auto__model=Album,
fields__artist__attrs__foo='bar',
fields__name__attrs=dict(
class__bar=True,
style__baz='qwe',
)
)
The thing to remember is that the basic namespace is a dict with key value
pairs that gets projected out into the HTML, but there are two special cases
for style
and class
. The example above will result in the following
attributes on the field tag:
<div foo="bar" class="bar" style="baz: qwe">
The values in these dicts can be callables:
form = Form(
auto__model=Album,
fields__name__attrs__class__bar=
lambda request, **_: request.user.is_staff,
)