Advertisement
Guest User

Untitled

a guest
Mar 15th, 2019
134
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.61 KB | None | 0 0
  1. class UserProfile(models.Model):
  2. # This field is required.
  3. user = models.ForeignKey(User, unique=True, related_name="connector")
  4. location = models.CharField(max_length=20, blank=True, null=True)
  5.  
  6. def create_user_profile(sender, instance, created, **kwargs):
  7. if created:
  8. UserProfile.objects.create(user=instance)
  9.  
  10. post_save.connect(create_user_profile, sender=User)
  11.  
  12. class UserForm(ModelForm):
  13. class Meta:
  14. model = User
  15.  
  16. class UserProfileForm(ModelForm):
  17. class Meta:
  18. model = UserProfile
  19.  
  20. @csrf_protect
  21. def register(request):
  22. if request.method == 'POST':
  23. form1 = UserForm(request.POST)
  24. form2 = UserProfileForm(request.POST)
  25. if form1.is_valid() and form2.is_valid():
  26. #create initial entry for user
  27. username = form1.cleaned_data["username"]
  28. password = form1.cleaned_data["password"]
  29. new_user = User.objects.create_user(username, password)
  30. new_user.save()
  31.  
  32. #create entry for UserProfile (extension of new_user object)
  33. profile = form2.save(commit = False)
  34. profile.user = new_user
  35. profile.save()
  36. return HttpResponseRedirect("/books/")
  37. else:
  38. form1 = UserForm()
  39. form2 = UserProfileForm()
  40. c = {
  41. 'form1':form1,
  42. 'form2':form2,
  43. }
  44. c.update(csrf(request))
  45. return render_to_response("registration/register.html", c)
  46.  
  47. <form action="/accounts/register/" method="post">{% csrf_token %}
  48. <p style="color:red"> {{form.username.errors}}</p>
  49. {{ form1.as_p }}
  50. {{ form2.as_p }}
  51. <input type="submit" value="Create the account">
  52. </form>
  53.  
  54. @csrf_protect
  55. def register(request):
  56. if request.method == 'POST':
  57. form1 = UserForm(request.POST, prefix = "user")
  58. form2 = UserProfileForm(request.POST, prefix = "profile")
  59. if form1.is_valid() and form2.is_valid():
  60. #create initial entry for user
  61. username = form1.cleaned_data["username"]
  62. password = form1.cleaned_data["password"]
  63. new_user = User.objects.create_user(username, password)
  64. new_user.save()
  65.  
  66. #create entry for UserProfile (extension of new_user object)
  67. profile = form2.save(commit = False)
  68. profile.user = new_user
  69. profile.save()
  70. return HttpResponseRedirect("/books/")
  71. else:
  72. form1 = UserForm(prefix = "user")
  73. form2 = UserProfileForm(prefix = "profile")
  74. c = {
  75. 'form1':form1,
  76. 'form2':form2,
  77. }
  78. c.update(csrf(request))
  79. return render_to_response("registration/register.html", c)
  80.  
  81. class UserProfileForm(ModelForm):
  82. class Meta:
  83. model = UserProfile
  84. exclude = ('user',)
  85.  
  86. class UserProfile(models.Model):
  87. user = models.ForeignKey(User, unique=True, related_name="connector")
  88. location = models.CharField(max_length=20, blank=True, null=True)
  89.  
  90. @csrf_protect
  91. def register(request):
  92. if request.method == 'POST':
  93. form1 = UserForm(request.POST)
  94. form2 = UserProfileForm(request.POST)
  95. if form1.is_valid() and form2.is_valid():
  96. #create initial entry for user
  97. username = form1.cleaned_data["username"]
  98. password = form1.cleaned_data["password"]
  99. new_user = User()
  100. new_user.username = username
  101. new_user.set_password(password)
  102. new_user.save()
  103.  
  104. profile = UserProfile()
  105. profile.user = new_user
  106. profile.save()
  107. return HttpResponseRedirect("/books/")
  108. else:
  109. form1 = UserForm()
  110. form2 = UserProfileForm()
  111. c = {
  112. 'form1':form1,
  113. 'form2':form2,
  114. }
  115. c.update(csrf(request))
  116. return render_to_response("registration/register.html", c)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement