我是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
答案 0 :(得分:1)
尝试将其添加到表单中:
widget=forms.TextInput(attrs={'type' : 'password'})