我是Django的新手,我正在使用Django的用户身份验证包(django.contrib.auth)进行用户登录,密码重置等。
现在,虽然一切正常,但在登录表单上,我想使用html-placeholder属性。我该如何使用/填充?我确实找到了一些答案(例如this one),但我不明白放置此代码的位置,如何扩展视图/表单甚至模型(例如添加新字段),因为这是通过标准包提供的。
现在,我添加了以下内容:来自django导入表单的forms.py来自django.contrib.auth.forms import AuthenticationForm
class LoginForm(forms.Form):
username = forms.CharField(label='username')
password = forms.CharField(label='password')
def __init__(self, *args, **kwargs):
super(LoginForm, self).__init__(*args, **kwargs)
self.fields['username'].widget.attrs['placeholder'] = 'Username'
self.fields['password '].widget.attrs['placeholder'] = 'Password'
我不确定我需要在urls.py或models.py或其他任何地方执行代码。
我找到了以下解决方案:
{%bootstrap_field form.password field_class =“field”placeholder =“Password”show_label = False%}
我相信通过将窗口小部件添加到您的窗体init,当您在模板中实例化窗体时,占位符应该像预期的那样显示。您是否只是尝试在模板中呈现您的表单,例如{{form}},看看它是否呈现了它?我不认为bootstrap4是必要的,但它是一个很棒的工具。