Guest User

Untitled

a guest
Aug 4th, 2018
253
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.46 KB | None | 0 0
  1. class UserForm(forms.ModelForm):
  2. password = forms.CharField(widget=forms.PasswordInput)
  3.  
  4. class Meta:
  5. model = User
  6. fields = ['username', 'email', 'password',]
  7.  
  8. def clean_email(self):
  9. email = self.cleaned_data['email']
  10. print('email cleaned data: ' + self.cleaned_data['email'])
  11. try:
  12. User.objects.get(email=email)
  13. raise forms.ValidationError('Email already exists.')
  14. except User.DoesNotExist:
  15. return email
  16.  
  17. def register(request):
  18. form = UserForm(request.POST or None)
  19. if form.is_valid():
  20. user = form.save(commit=False)
  21. user.is_active = False
  22. # username = form.cleaned_data['username']
  23. # password = form.cleaned_data['password']
  24. # user.set_password(password)
  25. user.save()
  26. # user = authenticate(username=username, password=password)
  27. # if user is not None:
  28. # if user.is_active:
  29. # login(request, user)
  30. # return render(request, 'set_goals/index.html')
  31. # context = {
  32. # "form": form,
  33. # }
  34. current_site = get_current_site(request)
  35. mail_subject = 'Activate your blog account.'
  36. message = render_to_string('registration/acc_active_email.html', {
  37. 'user': user,
  38. 'domain': current_site.domain,
  39. 'uid': urlsafe_base64_encode(force_bytes(user.pk)).decode(),
  40. 'token': account_activation_token.make_token(user),
  41. })
  42. to_email = form.cleaned_data.get('email')
  43. email = EmailMessage(
  44. mail_subject, message, to=[to_email]
  45. )
  46. # email.send()
  47. user.email_user(mail_subject,message)
  48. return HttpResponse('Please confirm your email address to complete the registration')
  49. context = {
  50. "form": form,
  51. }
  52. return render(request, 'set_goals/register.html', context)
  53. def activate(request, uidb64, token):
  54. try:
  55. uid = force_text(urlsafe_base64_decode(uidb64))
  56. user = User.objects.get(pk=uid)
  57. except(TypeError, ValueError, OverflowError, User.DoesNotExist):
  58. user = None
  59. if user is not None and account_activation_token.check_token(user, token):
  60. user.is_active = True
  61. user.save()
  62. login(request, user)
  63. # return redirect('home')
  64. return HttpResponse('Thank you for your email confirmation. Now you can login your account.')
  65. else:
  66. return HttpResponse('Activation link is invalid!')
Add Comment
Please, Sign In to add comment