title: Django modelform how to add a confirm password field?
body: <p>Here I need to add an extra <code>confirmation password</code> in my form.I used Django's modelform. I also need to validate both passwords. It must raise a validation error if <code>password1 != password2</code>.</p>
  
  <p>Here is my forms.py:</p>
  
  <pre><code>class UserForm(forms.ModelForm):
      password=forms.CharField(widget=forms.PasswordInput())
  
      class Meta:
          model=User
          fields=('username','email','password')
  
  class UserProfileForm(forms.ModelForm):
      YESNO_CHOICES = (('male', 'male'), ('female', 'female'))
      sex = forms.TypedChoiceField(choices=YESNO_CHOICES, widget=forms.RadioSelect)
      FAVORITE_COLORS_CHOICES=(('red','red'),('blue','blue'))
      favorite_colors = forms.MultipleChoiceField(required=False,widget=forms.CheckboxSelectMultiple, choices=FAVORITE_COLORS_CHOICES)
      dob = forms.DateField(widget=forms.DateInput(format = '%d/%m/%Y'), 
                                   input_formats=('%d/%m/%Y',))
  
      class Meta:
  
          model=UserProfile
          fields=('phone','picture','sex','favorite_colors','dob')
  </code></pre>
  
  <p>And here is my registration function:</p>
  
  <pre><code>def register(request):
      registered = False
      if request.method == 'POST':
          user_form = UserForm(data=request.POST)
          profile_form = UserProfileForm(data=request.POST)
  
  
  
          if user_form.is_valid() and profile_form.is_valid():
              user = user_form.save(commit=False)
              user.set_password(user.password)
              user.save()
              profile = profile_form.save(commit=False)
              profile.user = user
              if 'picture' in request.FILES:
                  profile.picture = request.FILES['picture']
              profile.save()
              registered = True
          else:
              print user_form.errors, profile_form.errors
      else:
          user_form = UserForm()
          profile_form = UserProfileForm()
  
      return render(request,
              'mysite/register.html',
              {'user_form': user_form, 'profile_form': profile_form, 'registered': registered} )
  </code></pre>