如何在Django UsercreationForm中设置初始值

我是Django的初学者,使用django.contrib.auth.forms中的UserCreationForm开发用户注册页面 . 但是,无法为password1和password2字段设置初始值 .

我的要求是从密码打开用户创建时,重新输入密码字段应填入默认密码 .

我试过这种方式但无法达到这个要求 .

意见/ user.py

if request.method == "POST":
    form = UserCreationForm(request.POST)
    if form.is_valid():
        user = form.save()

else:
    form = UserCreationForm(initial={'password1':'testing123','password2':'testing123'})

任何帮助,将不胜感激 .

回答(1)

2 years ago

预先填充默认密码是非常糟糕的主意 . 但是,这是关于如何实现这一点的一般想法 . 而且我还建议扩展UserCreationForm并完成其余的工作./

# Create form variable...
form = UserCreationForm(initial={
    'password2': 'password',
    'password1': 'password', 
    'username': 'rajasimon'})

# Assign render_value to True
form.fields['password1'].widget.render_value = True
form.fields['password2'].widget.render_value = True

# Return template with form...
return render(request, 'base.html', {'form': form})