Почему это повышает удобство использования?Единственное отличие состоит в том, что вы добавили class
и по какой-то причине удалили атрибут id
, что делает невозможным использование label
.Я не вижу никаких обстоятельств, при которых создание чего-то менее доступного сделало бы UX лучше.А устранение динамической способности форм Django повторно отображать неправильные значения в случае неудачи валидации, похоже, вряд ли является шагом вперед.
Хотя я не совсем понимаю, о чем спрашивает ваш вопрос.Если вы действительно хотите использовать эту менее полезную разметку в своем шаблоне, почему бы просто не сделать это?Вы должны предоставить шаблон для представлений contrib.auth в любом случае, так что у вас есть такая возможность.
Конечно, гораздо лучший способ - просто создать подкласс LoginForm и добавить туда свой класс HTML:
class LoginForm(auth.forms.AuthenticationForm):
username = forms.CharField(label=_("Username"), max_length=30,
widget=forms.TextInput(attrs={'class': 'loginput'}))
и передайте эту форму в дополнительном контексте на адрес для входа в систему:
(r'^accounts/login/$', 'django.contrib.auth.views.login',
{'template_name': 'myapp/login.html', 'authentication_form': LoginForm}),