Step 1 - customize User model:
1.1 add next lines to your settings file:
AUTH_USER_MODEL = 'my_accounts_app.MyUser'
1.2 don't forget add your application with User model to INSTALLED_APPS:
INSTALLED_APPS = (
...
'my_accounts_app',
)
1.3 write custom User model:
class MyUser(AbstractBaseUser):
# some fields here
USERNAME_FIELD = 'email'
REQUIRED_FIELDS = [...]
Step 2 - customize django-registration form (if you need it):
2.1 Write your own registration form.
2.2 Then you need to use your form. There is you can use 2 options:
a) you can write custom registration view based on registration.views.RegistrationView and pass "form_class" attribute to your view
b) OR you can set your custom registration form via passing it in your urls.py
There is the link to related django doc Django URLconf usage.
The default registration form is registration.forms.RegistrationForm, so don't forget to check it or use it as parent class for your custom form.