Advertisement
Guest User

Untitled

a guest
Apr 13th, 2017
88
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.42 KB | None | 0 0
  1. class Profile(models.Model):
  2. user = models.OneToOneField(User, on_delete=models.CASCADE, related_name='profile')
  3. bio = models.CharField(max_length=200, blank=True)
  4. followers = models.ManyToManyField('Profile',
  5. related_name="followers_profile",
  6. blank=True, symmetrical=False)
  7. following = models.ManyToManyField('Profile',
  8. related_name="following_profile",
  9. blank=True, symmetrical=False)
  10. avatar_thumbnail = ProcessedImageField(upload_to='profile_images',
  11. processors=[ResizeToFill(320, 320)],
  12. format='JPEG',
  13. options={'quality': 40},
  14. blank=True)
  15. feed_type = models.CharField(max_length=8, choices=GENDER_CHOICES,
  16. default='Both')
  17.  
  18. # @receiver(post_save, sender=User)
  19. # def create_user_profile(sender, instance, created, **kwargs):
  20. # if created:
  21. # Profile.objects.create(user=instance)
  22. #
  23. # @receiver(post_save, sender=User)
  24. # def save_user_profile(sender, instance, **kwargs):
  25. # instance.profile.save()
  26.  
  27. def get_number_of_followers(self):
  28. if self.followers.count():
  29. return self.followers.count()
  30. else:
  31. return 0
  32.  
  33. def get_number_of_following(self):
  34. if self.following.count():
  35. return self.following.count()
  36. else:
  37. return 0
  38. def __str__(self):
  39. return self.user.username
  40.  
  41. def signup(request):
  42. form = UserCreateForm()
  43.  
  44. if request.method == 'POST':
  45. form = UserCreateForm(request.POST)
  46. if form.is_valid():
  47. form.save()
  48. user = User.objects.get(username=request.POST['username'])
  49. user_profile = Profile(user=user)
  50. user_profile.save()
  51.  
  52. new_user = authenticate(username=form.cleaned_data['username'],
  53. password=form.cleaned_data['password1'])
  54. login(request,new_user)
  55. return redirect('index')
  56. return render(request, 'userapp/signup.html', {
  57. 'form': form
  58. })
  59.  
  60. class UserCreateForm(UserCreationForm):
  61. email = forms.EmailField(required=True)
  62.  
  63. class Meta:
  64. model = User
  65. fields = {"username", "email", "password1","password2"}
  66.  
  67. def save(self, commit=True):
  68. user = super(UserCreateForm, self).save(commit=False)
  69. user.email =self.cleaned_data["email"]
  70. if commit:
  71. user.save()
  72. return user
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement