Advertisement
mhkmcp

Untitled

Jun 24th, 2018
136
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.82 KB | None | 0 0
  1. //Model:
  2. class ProfileInfo(models.Model):
  3. user = models.OneToOneField(User, on_delete=True)
  4. street = models.CharField(max_length=100)
  5. zip_code = models.CharField(max_length=15)
  6. city = models.CharField(max_length=15, null=True)
  7. #user_type = models.ForeignKey('User_Type', on_delete=False, default='client')
  8. is_subscribed = models.BooleanField(default=False)
  9. is_active = models.BooleanField(default=True)
  10. #wishlist = models.ForeignKey('Wishlist', on_delete=False, default='null')
  11. balance = models.DecimalField(max_digits=6, decimal_places=2, default=0.0)
  12.  
  13. //Form:
  14. class UserForm(forms.ModelForm):
  15. password = forms.CharField(widget=forms.PasswordInput())
  16. confirm_password = forms.CharField(widget=forms.PasswordInput())
  17. class Meta():
  18. model = User
  19. fields = ('first_name','last_name','username','email','password')
  20.  
  21. class ProfileInfoForm(forms.ModelForm):
  22. class Meta():
  23. model = ProfileInfo
  24. exclude = ('User', 'is_active','is_subscribed','balance','user', 'wishlist')
  25.  
  26. //View:
  27.  
  28. def register(request):
  29. registered = False
  30. if request.method == "POST":
  31. user_form = UserForm(data=request.POST)
  32. profile_form = ProfileInfoForm(data=request.POST)
  33.  
  34. if user_form.is_valid() and user_form.password == user_form.confirm_password:
  35. user = user_form.save()
  36. user.set_password(user.password)
  37. user.save()
  38.  
  39. registered = True
  40.  
  41. else:
  42. print(user_form.errors, profile_form)
  43.  
  44. else:
  45. user_form = UserForm()
  46. profile_form = ProfileInfoForm()
  47.  
  48. return render(request, 'product/user_register.html',
  49. {'user_form': user_form,
  50. 'profile_form': profile_form,
  51. 'registered': registered})
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement