title: Creating custom fields with Django allauth
body: <p>I'm trying to include custom fields for the Django allauth SignUp form without much success. I've created the following forms and models:</p>
  
  <p><strong>models.py</strong></p>
  
  <pre><code>from django.db import models
  from django.contrib.auth.models import User
  
  # Create your models here.
  class UserProfile(models.Model):
  
      user = models.OneToOneField(User, related_name='profile', unique=True)
  
      # The additional attributes we wish to include.
      website = models.URLField(blank=True)
      picture = models.ImageField(upload_to='profile_images', blank=True)
  
      def __unicode__(self):
          return self.user.username
  </code></pre>
  
  <p><strong>forms.py</strong></p>
  
  <pre><code>from django.contrib.auth import get_user_model
  from django import forms
  from .models import UserProfile
  
  class SignupForm(forms.ModelForm):
  
      class Meta:
          model = get_user_model()
          fields = ('username', 'password', 'email', 'website', 'picture') 
  
      def save(self, user): 
          profile.save()
          user.save()
  </code></pre>
  
  <p><strong>settings.py</strong></p>
  
  <pre><code>AUTH_USER_MODEL = 'user_app.UserProfile'
  ACCOUNT_SIGNUP_FORM_CLASS = 'user_app.forms.SignupForm'
  </code></pre>
  
  <p>I've receiving the following error:
  <strong>AttributeError: type object 'UserProfile' has no attribute 'REQUIRED_FIELDS'</strong></p>
  
  <ol>
  <li>Is this the correct way to extend the base class?</li>
  <li>For the profile page, how do I load the extended class instead of the user class, so that I can display the username that is logged in?</li>
  </ol>