Как исправить ошибку AttributeError в объекте /login/ 'NoneType' не имеет атрибута 'lower'

Я пытаюсь создать форму входа в Django. В этой форме есть 2 поля, имя пользователя и пароль для входа. Теперь я использовал lower() во время получения имени пользователя. Посмотрите на код ниже. Я использовал lower(), потому что если пользователь введет букву в верхнем регистре, у него не возникнет никаких проблем.

Вот код

def loginForm(request):
    page = 'login'
    if request.user.is_authenticated:    #if user is already login, restricted to visit the login page again
        return redirect('home')

    if request.method == 'POST':
        username = request.POST.get('username').lower()
        password = request.POST.get('password')

        try:
            user = User.objects.get(username=username)
        except:
            messages.error(request,'User does not exist')
        user = authenticate(request,username=username, password=password)
        if user is not None:
            login(request, user)
            return redirect('home')
        else:
            messages.error(request,'Invalid Username or Password')

    context = {'page':page}
    return render(request, 'base/register_login.html',context)

Вот SS ошибки... Скриншот ошибки в коде

Пожалуйста, сообщите мне, как я могу решить эту ошибку.

Похоже, что username отсутствует в данных, когда вы публикуете данные в представлении.

Простой способ исправить эту ошибку - установить другое значение по умолчанию для username, например, так:

username = request.POST.get('username', '').lower()
Вернуться на верх