0

我正在使用 Django 的auth_user用户名和密码表。要更改密码字段,我在 forms.py 中执行了以下操作

class UserRegisterForm(forms.ModelForm):
    password = forms.CharField(widget=forms.PasswordInput())
    class Meta:
        model = User

将我的密码字段小部件更改为后PasswordInput,如果我按下保存按钮,我输入的任何密码都会被清除。我测试了它,数据保存在数据库中,我可以使用相同的用户名和密码登录。

模板.py

<tr>
    <td>Password</td><td>{{registerform.password}}*                                
</tr>

澄清:在更改密码小部件之前,输入的值在字段中显示为相同,如果我保存,则不会在字段中清除。

更改密码小部件后,我遇到了这个问题。密码显示在项目符号中,但如果我点击保存按钮,输入的密码将从该字段中清除(字段变为空,但它保存在模型中)

这会有什么问题。

谢谢

4

2 回答 2

3

当然,这是正确的行为。您不希望将密码返回给用户:这会带来安全风险。显示一个空白编辑框是正确的做法。

于 2013-05-21T09:56:55.560 回答
1

我认为你可以这样做。

password = forms.CharField(widget=forms.PasswordInput(render_value=True,))
于 2015-11-15T01:16:49.060 回答