django-registration-redux add extra field
Question: 7 and python 2.7. i want to add extra field in django registration. i try to
extend with my model like this:

    
    
    class Seller(models.Model):
    user            = models.ForeignKey(User, unique=True)
    name            = models.CharField(max_length=25)
    phone_number    = models.BigIntegerField()
    email           = models.EmailField(max_length=75)
    
    def __str__(self):
        return self.name;
    

and i add form.py like this

    
    
        from django import forms
        from registration.forms import RegistrationForm
        from django.forms import ModelForm
        from django.contrib.auth.models import User
        from kerajinan.models import Product, Category, Seller
    
        class SellerForm(forms.ModelsForm):
            class Meta:
                model   = Seller
                fields  = ('name','phone_number','email')
    

and modify url.py like this:

    
    
    url(r'^accounts/', 'registration.views.register',{'form_class':SellerForm,'backend': 'registration.backends.default.DefaultBackend'})
    

how to use those model with django registration and i get error syntax with my
ulr.py?

thanks


Answer: It's works for me:  
models.py

    
    
    from django.db import models
    from django.contrib.auth.models import User
    
    class UserProfile(models.Model):
        field = models.CharField(max_length=3)
        user = models.OneToOneField(User)
    

forms.py

    
    
    from registration.forms import RegistrationFormUniqueEmail
    from django import forms
    
    class UserProfileRegistrationForm(RegistrationFormUniqueEmail):
        field = forms.CharField()
    

Create regbackend.py and write:

    
    
    from registration.backends.default.views import RegistrationView
    from forms import UserProfileRegistrationForm
    from models import UserProfile
    
    class MyRegistrationView(RegistrationView):
    
        form_class = UserProfileRegistrationForm
    
        def register(self, request, form_class):
            new_user = super(MyRegistrationView, self).register(request, form_class)
            user_profile = UserProfile()
            user_profile.user = new_user
            user_profile.field = form_class.cleaned_data['field']
            user_profile.save()
            return user_profile
    

And urls.py

    
    
    from django.conf.urls import include, url
    import regbackend
    
    urlpatterns = [
    url(r'^accounts/register/$', regbackend.MyRegistrationView.as_view(), name='registration_register'),
    ]
    

