Saving profile with registration in Django-Registration Saving profile with registration in Django-Registration django django

Saving profile with registration in Django-Registration


You can pass the callback function in your urls.py file.

from mysite.profile.models import UserProfileurl( r'^accounts/register/$',      'registration.views.register',        { 'profile_callback': UserProfile.objects.create }, name = 'registration_register' ),

Substitute your own function for UserProfile.objects.create as needed.


This is covered in this blogpost and expanded on in my answer to another question on the same issue

django-registration sends a signal at various events happening - registration and activation. At either of those points you can create a hook to that signal which will be given the user and request objects - from there you can create a profile for that user.

The signal from django-registration

#registration.signals.py user_registered = Signal(providing_args=["user", "request"]) 

Code to create profile

#signals.py (in your project)user_registered.connect(create_profile)def create_profile(sender, instance, request, **kwargs):    from myapp.models import Profile    #If you want to set any values (perhaps passed via request)     #you can do that here    Profile(user = instance).save()