掩盖Django中的密码

时间:2017-05-04 15:05:16

标签: python django

我是python和Django框架的新手,我创建了一个运行良好的登录表单,但唯一的问题是我在输入时无法屏蔽密码。

Views.py

class LoginFormView(FormView):
template_name = 'Login/login-page.html'
form_class = AuthenticationForm

def form_valid(self, form):
    login(self.request, form.get_user())
    return redirect('personal:index')

登录/密码-page.html中

{% block content %}
    <form class="form-horizontal" method="post" enctype="multipart/form-data">
      {% csrf_token %}
        {% for field in form %}
           <div class="form-group">
               <label for="{{ field.id_for_label }}" class="col-sm-2 control-label">{{field.html_name}}</label>
               <div class="col-sm-5">
                    <input class="form-control" id="{{ field.id_for_label }}" name="{{ field.html_name }}" />
               </div>
           </div>
        {{ field.errors }}
        {% endfor %}
      <div class="form-group">
        <div class="col-sm-offset-2 col-sm-10">
          <button type="submit" class="btn btn-success ">
            <span class="glyphicon glyphicon-log-in" aria-hidden="true"></span>  Sign in
          </button>
        </div>
      </div>
    </form>
{% endblock %}

每当我尝试在views.py

中添加以下代码时
password = forms.CharField(widget=PasswordInput)

我没有效果,如果我尝试使用form_class而不是表单,它不能作为类型对象'AuthenticationForm'没有属性'CharField'

同样在login-page.html中我使用了输入标签,默认情况下类型设置为text是否有办法将其更改为密码?因为我已经在表格中填写了字段。

请让我知道我哪里出错了。

谢谢和问候, Chinmay Swami

1 个答案:

答案 0 :(得分:1)

尝试将其添加到表单中:

widget=forms.TextInput(attrs={'type' : 'password'})