title: adding extra field to django-registration using signals
body: <p>I want to add a locale selection to the default django-registration. I tried to follow this tutorial from <a href="http://dmitko.ru/?p=546" rel="nofollow noreferrer">dmitko</a>. The form shows up correctly but the additional data (locale) is not saved.</p>
  
  <p><strong>I defined a custom model:</strong></p>
  
  <pre><code>class AnymalsProfile(models.Model):
      user = models.ForeignKey(User, unique=True)
      locale = models.CharField(max_length=2)
  
  def __unicode__(self):
      return u'%s %s' % (self.user, self.locale)
  </code></pre>
  
  <p>and the form:</p>
  
  <pre><code>from models import AnymalsProfile
  from registration.forms import RegistrationFormTermsOfService
  
  class UserRegistrationForm(RegistrationFormTermsOfService):
      locale = forms.CharField(max_length=3, widget=forms.Select(choices=LOCALE_CHOICES),label='Language:')
  </code></pre>
  
  <p>The fields show up correctly, but the locale data (profile) is not saved. I assume that the regbackend.py is my problem:</p>
  
  <pre><code>from anysite.models import AnymalsProfile
  
  def user_created(sender, user, request, **kwargs):
          form = UserRegistrationForm(request.POST)
          data = AnymalsProfile(user=user)
          data.locale = form.cleaned_data["locale"]
          data.save()
  
  from registration.signals import user_registered
  user_registered.connect(user_created)
  </code></pre>
  
  <p><strong>* EDIT *</strong>
  I tried moving into production - just for a test - and it raised some errors. I altered the code, but still the profile is not saved. Here is what I tried:</p>
  
  <pre><code>from anysite.models import AnymalsProfile
  from anysite.forms import UserRegistrationForm
  
  def user_created(sender, user, request, **kwargs):
          form = UserRegistrationForm(request.POST)
          if form.is_valid():
                  ProfileData = form.cleaned_data
                  profile = AnymalsProfile(
                  user = user.id,
                  locale = ProfileData["locale"]
                          )
                  profile.save()
  
  from registration.signals import user_registered
  user_registered.connect(user_created)
  </code></pre>