Advertisement
Guest User

Untitled

a guest
Mar 23rd, 2019
133
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.25 KB | None | 0 0
  1. from django.contrib.auth.forms import User
  2.  
  3.  
  4. class EmailBackend(object):
  5.  
  6. def authenticate(self, username=None, password=None, **kwargs):
  7. try:
  8. user = User.objects.get(email=username)
  9. except User.MultipleObjectsReturned:
  10. return None
  11. except User.DoesNotExist:
  12. return None
  13.  
  14. if getattr(user, 'is_active') and user.check_password(password):
  15. return user
  16. return None
  17. def get_user(self, user_id):
  18. try:
  19. User.objects.get(pk=user_id)
  20. except User.DoesNotExist:
  21. return None
  22. views:
  23. def post(self, request):
  24. form = self.form_class(request.POST)
  25. if form.is_valid():
  26. email = form.cleaned_data['email']
  27. password = form.cleaned_data['password']
  28. username = str(uuid.uuid4())
  29. new_user = User.objects.create(username=username, email=email, first_name = form.cleaned_data['first_name'])
  30. new_user.set_password(password)
  31. new_user.save()
  32.  
  33.  
  34. needed_user = User.objects.get(username = username)
  35.  
  36. needed_user = authenticate(username=email, password=password)
  37.  
  38. if needed_user is not None:
  39. if needed_user.is_active:
  40. login(request, needed_user)
  41. return redirect('home')
  42. else:
  43. print(form.errors)
  44. return render(request, self.template_name, {'form': form })
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement