The below class inherits from the Textarea widget and features javascript code that displays how many characters more a user can enter in a textarea.
Technically, a Widget doesn't have to have a direct relationship back to a Field, so you don't do this.
Looking at the source of CharField, you can see that it has a widget_attrs
method which automatically adds the maxlength
attribute to TextInput
/ PasswordInput
fields.
I suggest you use a custom Field which overrides this method and adds an attribute for your custom Widget.
Also, I'm not sure that leaving it in attrs
is a good idea anyway - the will be rendered with an invalid
max_length
argument. Perhaps you should be pop()
ing it off instead?