【发布时间】:2016-09-28 23:48:23
【问题描述】:
我正在尝试创建一个视图以允许用户创建另一个用户。问题是生成的表单具有“密码”和“姓氏”字段的初始值,我不知道为什么。我需要删除那些初始值。
我已经用 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
【问题讨论】:
-
我猜是您的浏览器从密码存储中填写表单。
标签: python django django-forms