from django.shortcuts import render from django.views import View from django.http import HttpResponse from django.contrib.auth.models import User from django.db.models.query import QuerySet from ..status_code import * from ..settings import * from ..forms.login import LoginForm class LoginView(View): def get(self, request): return render(request, "login.html", {"form": LoginForm}) def post(self, request): form: LoginForm = LoginForm(request.POST) if not form.is_valid(): return HttpResponse(INVALID_USERNAME_PASSWORD) username: str = form.cleaned_data["username"] password: str = form.cleaned_data["password"] query: QuerySet = User.objects.filter(username=username) if (not query.exists()): return HttpResponse(INVALID_USERNAME_PASSWORD) user: User = User.objects.get(username=username) if (not user.check_password(password)): return HttpResponse(INVALID_USERNAME_PASSWORD) return HttpResponse(USER_VALID)