Весь кредит Алексу, но только для того, чтобы заполнить решение:
При использовании автоматической генерации поля формы django (виджеты) забудьте о шаблонах, которые вы должны сделать, в определении формы, например так:
class AuthenticationForm(forms.Form):
email = forms.CharField(label=_("Email Address"), max_length=75)
становится:
class AuthenticationForm(forms.Form):
email = forms.CharField(
label=_("Email Address"), max_length=75,
widget=forms.TextInput(attrs={'tabindex':'1'})
)
Но если вы хотите отказаться от виджетов и сохранить презентацию в шаблоне, вы также можете сделать это следующим образом:
<div class="field text username">
<label>Email Address</label>
<input id="id_email" type="text" name="email"
tabindex="1" maxlength="75"
value="{{form.email.data|default:''}}"/>
</div>
Я склоняюсь к последнему.