summaryrefslogtreecommitdiff
path: root/docs/ref/forms
diff options
context:
space:
mode:
authorRichard Oyudo <ebube.rc@gmail.com>2018-03-07 22:58:55 +0100
committerTim Graham <timograham@gmail.com>2018-03-07 16:58:55 -0500
commit8411e4a8fe98ebac4327ee43446a25873703a5e8 (patch)
treeda91e541c83bba01f699ae430efc22012bccbe90 /docs/ref/forms
parentfe32fe161917e95c4037759740df911a6489707c (diff)
Fixed #28655 -- Added more examples for customizing widgets in a form.
Diffstat (limited to 'docs/ref/forms')
-rw-r--r--docs/ref/forms/widgets.txt19
1 files changed, 19 insertions, 0 deletions
diff --git a/docs/ref/forms/widgets.txt b/docs/ref/forms/widgets.txt
index ee913f0f72..eb858f1278 100644
--- a/docs/ref/forms/widgets.txt
+++ b/docs/ref/forms/widgets.txt
@@ -157,6 +157,25 @@ this, you use the :attr:`Widget.attrs` argument when creating the widget::
url = forms.URLField()
comment = forms.CharField(widget=forms.TextInput(attrs={'size': '40'}))
+You can also modify a widget in the form definition::
+
+ class CommentForm(forms.Form):
+ name = forms.CharField()
+ url = forms.URLField()
+ comment = forms.CharField()
+
+ name.widget.attrs.update({'class': 'special'})
+ comment.widget.attrs.update(size='40')
+
+Or if the field isn't declared directly on the form (such as model form fields),
+you can use the :attr:`Form.fields` attribute::
+
+ class CommentForm(forms.ModelForm):
+ def __init__(self, *args, **kwargs):
+ super().__init__(*args, **kwargs)
+ self.fields['name'].widget.attrs.update({'class': 'special'})
+ self.fields['comment'].widget.attrs.update(size='40')
+
Django will then include the extra attributes in the rendered output:
>>> f = CommentForm(auto_id=False)