Django: How do I add arbitrary html attributes to input fields on a form?

User picture User · May 25, 2010 · Viewed 83.8k times · Source

I have an input field that is rendered with a template like so:

<div class="field">
   {{ form.city }}
</div>

Which is rendered as:

<div class="field">
    <input id="id_city" type="text" name="city" maxlength="100" />
</div>

Now suppose I want to add an autocomplete="off" attribute to the input element that is rendered, how would I do that? Or onclick="xyz()" or class="my-special-css-class"?

Answer

Galen picture Galen · May 25, 2010

Check this page

city = forms.CharField(widget=forms.TextInput(attrs={'autocomplete':'off'}))