core: accounts: use django form

This commit is contained in:
2023-10-25 16:10:23 +02:00
parent 4cda3de144
commit 2c7bbb5a5f
13 changed files with 83 additions and 62 deletions

View File

@ -4,22 +4,21 @@ 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 Login(View):
class LoginView(View):
def get(self, request):
return render(request, "login.html")
return render(request, "login.html", {"form": LoginForm})
def post(self, request):
username = request.POST.get("username")
if (username == None):
form: LoginForm = LoginForm(request.POST)
if not form.is_valid():
return HttpResponse(INVALID_USERNAME_PASSWORD)
password = request.POST.get("password")
if (password == None):
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()):