我尝试创建一个允许用户创建另一个用户的视图。问题是生成的表单具有密码'的初始值。和' last_name'田野,我不知道为什么。我需要删除这些初始值。
我已经使用ModelForm创建了一个UserForm。
class UserForm(forms.ModelForm):
# I've tried this, but it doesn't change anything
#def __init__(self, *args, **kwargs):
#super(UserForm, self).__init__(*args, **kwargs)
#self.fields['password'].value = ''
#self.fields['last_name'].value = ''
password = forms.CharField(widget=forms.PasswordInput(render_value=True))
class Meta:
model = User
fields = [
'username', 'email', 'first_name', 'last_name'
]
然后我有了观点。我已按照相同的模式对视图进行编码,以便为其他对象创建视图。遇到这个问题之后,我把视图写到了这个:
def create_user(request):
user_form = UserForm()
context = {
"user_form": user_form,
}
return render(request, "remote/user/user_create_form.html", context)
我希望如果我只是尝试显示表单,而不是处理表单数据,则不会出现此问题,但确实如此。
我的模板有这个(我使用脆纸):
<form action="" method="POST">{% csrf_token %}
{{ user_form|crispy }}
<input type="submit" class="btn btn-primary" value="Registar" />
</form>
以下是表单最初的样子: password and last_name fields have initial values
答案 0 :(得分:0)
这是因为在测试时,您可能已经使用了保存字段和表单数据的浏览器功能,即自动保存密码。它通常会保存密码和表单的前一个字段。请清除缓存并从浏览器设置中填写自动填充数据。如果错误仍然存在,请告诉我们。 感谢