Как сделать проверку наличия данных для авторизации Django?

Итак, я написал код для страницы reg.html. При правильном заполнении данных для регистрации форма сохраняется и аккаунт создается. Я все проверил, данные заносятся в БД. Осталось сделать авторизацию. Но вот вопрос - как сделать проверку наличия правильных данных? Проще говоря, если пользователь авторизуется и такой аккаунт существует на самом деле - то он должен перенаправлен на главную страницу. Иначе - сайт выдаст "Такого аккаунта нет". Привожу код ниже.

views.py:

from django.shortcuts import render, redirect
from .form import SignUpForm, RegisterForm

def index(request):
    return render(request, 'main/index.html',)

def about(request):
    return render(request, 'main/about.html')

def register(request):
    if request.method == 'POST':
        form = RegisterForm(request.POST)
        if form.is_valid():
            saved = form.save(commit=False)
            saved.save()
    form = RegisterForm()
    return render(request, 'main/reg.html', {
        'form': form
    })

def log(request):
    if request.method == "POST":
        form = SignUpForm(request.POST)
        if form.is_valid():
            pass
    form = SignUpForm()
    return render(request, 'main/log.html', {
        'form': form
    })
form = LoginForm(request.POST)   
    if form.is_valid():
        username = form.cleaned_data['username']
        password=form.cleaned_data['password']
        user = authenticate(request,username=username,password=password)
        if user:
            login(request, user)
            messages.success(request,f'Hi {username.title()}, welcome back!')
            return redirect('mprofil')
    # either form not valid or user is not authenticated
    messages.error(request,f'Invalid username or password')

Пробуй

Вернуться на верх