2013-05-30 30 views
0

我做了我自己的表單驗證器來創建和編輯用戶。 用戶創建工作正常,密碼在數據庫中正確散列。 但是當我嘗試用它登錄時,我有一個識別錯誤。 我已經跟蹤在set_password中傳遞的密碼,它是正確的...Djando - 創建/編輯用戶的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

你有沒有把is_active設置爲false? – karthikr

+0

是的,它被檢查。我創建用戶所擁有的所有權利。 –

回答

0

好,幫助我的人。

該字段必須使用[]而不是{}我不知道爲什麼,但這解決了我的問題。

相關問題