Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- AUTHENTICATION_BACKENDS = ('accounts.backend.AuthBackend',)
- def login(request):
- if request.method == 'POST':
- username_or_email = request.POST['username']
- password = request.POST['password']
- user = authenticate(username=username_or_email, password=password)
- print(user)
- if user is not None:
- return reverse('task:home')
- else:
- messages.error(request, "Username or password is invalid")
- return render(request, 'accounts/login.html')
- else:
- return render(request, 'accounts/login.html')
- from django.contrib.auth.models import User
- from django.db.models import Q
- class AuthBackend(object):
- supports_object_permissions = True
- supports_anonymous_user = False
- supports_inactive_user = False
- def get_user(self, user_id):
- try:
- return User.objects.get(pk=user_id)
- except User.DoesNotExist:
- return None
- def authenticate(self, username, password):
- print('inside custom auth')
- try:
- user = User.objects.get(
- Q(username=username) | Q(email=username) )
- print(user)
- except User.DoesNotExist:
- return None
- print(user)
- if user.check_password(password):
- return user
- else:
- return None
Add Comment
Please, Sign In to add comment