Django 提交后,密码字段数据将被清除

Django 提交后,密码字段数据将被清除,django,django-models,django-forms,django-admin,Django,Django Models,Django Forms,Django Admin,我正在使用Django的auth_user表获取用户名和密码 class UserRegisterForm(forms.ModelForm): password = forms.CharField(widget=forms.PasswordInput()) class Meta: model = User 将密码字段小部件更改为PasswordInput后,如果我按“保存”按钮,我输入的任何密码都会被清除。我测试了它,数据保存在数据库中,我可以使用相同的用户名和

我正在使用Django的
auth_user
表获取用户名和密码

class UserRegisterForm(forms.ModelForm):
    password = forms.CharField(widget=forms.PasswordInput())
    class Meta:
        model = User
将密码字段小部件更改为
PasswordInput
后,如果我按“保存”按钮,我输入的任何密码都会被清除。我测试了它,数据保存在数据库中,我可以使用相同的用户名和密码登录

template.py

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

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

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

这会有什么问题呢


谢谢

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

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

我认为您可以这样做

password = forms.CharField(widget=forms.PasswordInput(render_value=True,))

我想你可以这样做

password = forms.CharField(widget=forms.PasswordInput(render_value=True,))

我还检查了视图代码,我仍然不清楚为什么会出现此问题。有人能告诉我如何解决/我做错了什么吗?你的意思是,在提交并返回模板后,密码没有显示?如果是这样的话,这是正确和预期的行为。密码字段不用于返回/显示用户密码,仅用于savingI我无法获取,视图的问题在哪里,如何解决。我不理解。在你没有得到它的地方。你说它节省了,而不是意味着你得到了它。您不能将密码返回到带有密码字段的页面。我也检查了视图代码,我仍然不清楚为什么会出现此问题。有人能告诉我如何解决/我做错了什么吗?您的意思是,您提交并返回模板后,密码未显示?如果是这样的话,这是正确和预期的行为。密码字段不用于返回/显示用户密码,仅用于savingI我无法获取,视图的问题在哪里,如何解决。我不理解。在你没有得到它的地方。你说它节省了,而不是意味着你得到了它。你不能将密码返回到带有密码字段的页面。你真的不想这样做,正如Daniel所说,将密码发送回用户是一种安全风险,而且浏览器几乎每次保存表单时都会试图记住密码。你真的不想这样做,正如Daniel所说,将密码发送回用户是一种安全风险,而且浏览器几乎每次保存该表单时都会试图记住密码。