Django 提交后,密码字段数据将被清除
我正在使用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后,如果我按“保存”按钮,我输入的任何密码都会被清除。我测试了它,数据保存在数据库中,我可以使用相同的用户名和
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所说,将密码发送回用户是一种安全风险,而且浏览器几乎每次保存该表单时都会试图记住密码。