Right now login page looked like this
I want to change label of username field to Team Name
Note: I'm using builtin LoginView
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'),
]
Just change the label's text of your username field like this:
class LoginForm(ModelForm):
class Meta:
model = YourModel
fields = ['username','password']
def __init__(self, *args, **kwargs):
super(LoginForm, self).__init__(*args, **kwargs)
for fieldname in ['username']:
self.fields[fieldname].label = 'Email'
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With