Saving profile with registration in Django-Registration

前端 未结 3 781
名媛妹妹
名媛妹妹 2020-12-23 23:36

In Django-Registration it says you can save a custom profile when you save a user.
But I have no idea what the documentation is asking me to do. Here is what they say

相关标签:
3条回答
  • 2020-12-23 23:49

    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()
    
    0 讨论(0)
  • 2020-12-23 23:57

    For anyone who met this problem, I think this blog post is a good tutorial: http://johnparsons.net/index.php/2013/06/28/creating-profiles-with-django-registration/.

    0 讨论(0)
  • 2020-12-24 00:01

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

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

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

    0 讨论(0)
提交回复
热议问题