title: What is the difference between using post_save signal or do the logic in view
body: <p>So I have the following code:</p>
  
  <pre><code>from django.contrib.auth.models import User
  from django.db.models.signals import post_save
  from django.dispatch import receiver
  
  from myapp.models import UserProfile
  
  @receiver(post_save, sender=User)
  def auto_create_profile(sender, **kwargs):
      instance = kwargs['instance']
      created = kwargs['created']
      if created:
          profile = UserProfile(foo=foo)
          profile.user = instance
          profile.save()
  </code></pre>
  
  <p>what is the difference between the previous code and creating the profile on register view?</p>
  
  <pre><code>def some_view(request):
      #save the user and then
      profile = UserProfile(foo=foo, user=user)
      profile.save()
  </code></pre>