我制作了自己的表单验证器来创建和编辑用户。 用户创建工作正常,密码在数据库中正确散列。 但是当我尝试使用它登录时,我有一个识别错误。 我跟踪了set_password中传递的密码,它是正确的...
可能出现什么问题?
由于
表格:
class UserForm(ModelForm):
def __init__(self, *args, **kwargs):
super(UserForm, self).__init__(*args, **kwargs)
self.fields['groups'].help_text = 'Los grupos a los que este usuario pertenece.'
class Meta:
model = User
fields = {
'username',
'first_name',
'last_name',
'email',
'is_staff',
'is_active',
'groups',
'password'
}
widgets = {
'groups': CheckboxSelectMultiple()
}
def save(self, commit=True):
user = super(UserForm, self).save(commit=False)
user.set_password(self.cleaned_data["password"])
if commit:
user.save()
return user
观点:
def usuario_new(request):
form_errors = None
if request.method == "POST":
formset = UserForm(request.POST or None)
if formset.is_valid():
formset.save()
return usuarios(request)
else:
formset = UserForm()
context = {'formset': formset,
'form_errors': form_errors }
return render_to_response("administracion/usuarios/new.html",
context,
context_instance=RequestContext(request))
答案 0 :(得分:0)
好的,有人帮助我。
字段必须使用[]而不是{}我不确定原因,但这解决了我的问题。