Django 如何自定义登录和注册表单的ID属性?
我在Django 如何自定义登录和注册表单的ID属性?,django,Django,我在表单中有两个类。py: class LoginForm(AuthenticationForm): ''' Form to log in a user ''' error_messages= { "invalid_login": _("Incorrect %(username)s/password combo") } username= forms.EmailField(label=_("Email"), widget=forms.TextInput(attrs={"placeh
表单中有两个类。py
:
class LoginForm(AuthenticationForm):
'''
Form to log in a user
'''
error_messages= {
"invalid_login": _("Incorrect %(username)s/password combo")
}
username= forms.EmailField(label=_("Email"), widget=forms.TextInput(attrs={"placeholder":"Email"}))
password= forms.CharField(label=_("Password"), widget=forms.PasswordInput(attrs={"placeholder":"Password"}))
class RegisterForm(UserCreationForm):
'''
Form that makes user using just email as username
'''
error_messages= {
"password_mismatch": _("Passwords do not match."),
"duplicate_email": _("Email already exists."),
"unique": _("Email already exists"),
}
username= forms.EmailField(label=_("Email"), widget=forms.TextInput(attrs={"placeholder":"Email"}))
password1= forms.CharField(label=_("Password"), widget=forms.PasswordInput(attrs={"placeholder":"Password"}))
password2= forms.CharField(label=_("Password confirmation"), widget=forms.PasswordInput(attrs={"placeholder":"Confirm password"}))
class Meta:
model= User
fields= ("username",)
我将它们都加载到login\u register.html
,如下视图所示:
def login_register(request, template="pages/login_register.html"):
registration_form= RegisterForm()
login_form= LoginForm()
return render(request, template, {"registration_form": registration_form, "login_form": login_form})
但是当它们都加载到页面上时,这会导致页面有两个
input
标记,它们都具有id
属性id\u username
。如何更改表单的输入标记的id
属性?尝试将id
属性添加到其中一个文件:
username= forms.EmailField(label=_("Email"), widget=forms.TextInput(attrs={"placeholder":"Email", "id": "id_login_username"}))
尝试将id
属性添加到其中一个文件:
username= forms.EmailField(label=_("Email"), widget=forms.TextInput(attrs={"placeholder":"Email", "id": "id_login_username"}))
只需更改变量名。只需更改变量名。