如何在标准视图中使用html表单的“占位符”属性?

时间:2018-09-08 19:02:23

标签: python django placeholder

我是Django的新手,并且正在使用Django的用户身份验证软件包(django.contrib.auth)进行用户登录,密码重置等。

现在,尽管一切正常,但在登录表单上,我想使用html-placeholder属性。如何使用/填充?我确实找到了一些答案(例如this one),但是我不知道该代码在哪里放置,如何扩展视图/窗体甚至模型(例如添加新字段),因为它们随标准包一起提供。

现在,我添加了以下内容: 表格     从Django导入表格     从django.contrib.auth.forms导入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或其他任何地方需要执行什么代码。

2 个答案:

答案 0 :(得分:0)

我找到了以下解决方案:

  • 已安装的bootstrap4
  • 在我的html中使用以下标记:

{%bootstrap_field form.password field_class =“ field” placeholder =“ Password” show_label = False%}

答案 1 :(得分:0)

我相信,通过将小部件添加到窗体init中,当您在模板中实例化窗体时,占位符应该看起来像预期的那样。您是否只是尝试在模板中呈现{{form}}之类的表单,然后查看它是否呈现了它?我不认为bootstrap4是必要的,但它是一个很好的工具。