Is there any way to change username field label in user authentication login page?
According to documentation LoginView
has an attribute called authentication_form
(typically just a form class). Defaults to AuthenticationForm
.
You can create a form class that inherits from AuthenticationForm
, set the label of the username field and assign it to your LoginView
over authentication_form
attribute.
forms.py
from django import forms
from django.contrib.auth.forms import AuthenticationForm, UsernameField
class CustomAuthenticationForm(AuthenticationForm):
username = UsernameField(
label='Team Name',
widget=forms.TextInput(attrs={'autofocus': True})
)
views.py
from django.contrib.auth.views import LoginView
from .forms import CustomAuthenticationForm
class CustomLoginView(LoginView):
authentication_form = CustomAuthenticationForm
urls.py
urlpatterns = [
path('login/', CustomLoginView.as_view(), name='login'),
]