python - django user creation form required keyerror -
i made custom registration form, inherits usercreationform
. however, when try submit, 1 of fields empty, keyerror
on required. seems happen somewhere in django source code, i'm pretty sure comes because of custom clean method.
form:
class registrationform(usercreationform): """ edit user registration form add emailfield """ class meta: model = user fields = ('username', 'password1', 'password2') def __init__(self, *args, **kwargs): super(registrationform, self).__init__(*args, **kwargs) #add custom errormessages self.fields['username'].error_messages = { 'invalid': 'invalid username' } self.fields['password2'].label = "confirm password" #make sure username lowered , unique def clean_username(self): username = self.cleaned_data.get('username') try: user.objects.get(username__iexact=username) raise forms.validationerror("this username in use.") except user.doesnotexist: pass return username def save(self, commit=true): user = super(registrationform, self).save(commit=false) if commit: user.save() return user
the errorlog http://pastebin.com/8y6tp7rw
note: using django 1.8
you replacing of 'username' field error_messages dict own dict. instead, should update error_messages dict custom message so:
self.fields['username'].error_messages.update({ 'invalid': 'invalid username' })
Comments
Post a Comment