# forms.py:

from django.contrib.auth.forms import UserCreationForm
from django.core.validators import validate_email
from django import forms

class UserRegisterForm(UserCreationForm):
    # we are using email as username so override label and validators
    username = forms.CharField(
        label = "Email:",
        max_length = 30,
        required = True,
        validators=[validate_email],
    )
# ====================================================
# views.py:

from django.views.generic.edit import FormView
class UserRegister(FormView):
    template_name = 'form_general.html'
    form_class = UserRegisterForm
    success_url = '/user/'

    def form_valid(self, form):
        # we are using email as username so let's copy it also to email field
        user = form.save(commit=False)
        user.email = user.username
        user.save()
        return super(UserRegister, self).form_valid(form)


