Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from django.contrib.auth.forms import User
- class EmailBackend(object):
- def authenticate(self, username=None, password=None, **kwargs):
- try:
- user = User.objects.get(email=username)
- except User.MultipleObjectsReturned:
- return None
- except User.DoesNotExist:
- return None
- if getattr(user, 'is_active') and user.check_password(password):
- return user
- return None
- def get_user(self, user_id):
- try:
- User.objects.get(pk=user_id)
- except User.DoesNotExist:
- return None
- views:
- def post(self, request):
- form = self.form_class(request.POST)
- if form.is_valid():
- email = form.cleaned_data['email']
- password = form.cleaned_data['password']
- username = str(uuid.uuid4())
- new_user = User.objects.create(username=username, email=email, first_name = form.cleaned_data['first_name'])
- new_user.set_password(password)
- new_user.save()
- needed_user = User.objects.get(username = username)
- needed_user = authenticate(username=email, password=password)
- if needed_user is not None:
- if needed_user.is_active:
- login(request, needed_user)
- return redirect('home')
- else:
- print(form.errors)
- return render(request, self.template_name, {'form': form })
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement