Django Login Authentication: Я могу зарегистрировать нового пользователя и создать нового пользователя, но НЕ МОГУ войти в систему как зарегистрированный пользователь.

Аутентификация входа в систему в Django: Я могу зарегистрировать нового пользователя и создать нового пользователя, но НЕ МОГУ войти в систему как зарегистрированный пользователь. Мой views.py для handlelogin

         def handlelogin(request):
if request.method == 'POST':
    loginemail= request.POST['loginemail']
    loginpass = request.POST['loginpass']
    user = authenticate(request, username=loginemail, password=loginpass)
    if user is not None:
        print(loginemail, loginpass)
        login(request, user)
        messages.success(request, "Successfullly Logged-In")
        return redirect('/')
    else:
        messages.error(request, "Invalid Credentials, Please Try Again")
        return redirect('/')

return HttpResponse('404 - Page Not Find')

Я попробовал проверить оператор print(), и он работает только в операторе else, но не в операторе if user is not none. ПРИМЕЧАНИЕ: СИНТАКСИС В ВОПРОСЕ НЕМНОГО НАРУШЕН ... НО В КОДЕ ВСЕ В ПОЛНОМ ПОРЯДКЕ.

BTW Я использую Django forms для входа и выхода пользователей:

views.py:

def user_login(request):
    if request.method == 'POST':
        form = UserLoginForm(request.POST)
        if form.is_valid():
            cd = form.cleaned_data
            user = authenticate(request, username=cd['username'], password=cd['password'])
            if user is not None:
                login(request, user)
                messages.success(request, 'you logged in successfully', 'success')
                return HttpResponseRedirect('dashboard/')
            else:
                messages.error(request, 'username or password is wrong', 'danger')
    else:
        form = UserLoginForm()
    return render(request, 'login.html', {'form': form})


def user_logout(request):
    logout(request)
    messages.success(request, 'you logged out successfully', 'success')
    return HttpResponseRedirect('')

forms.py

class UserLoginForm(forms.Form):
    username = forms.CharField(max_length=30)
    password = forms.CharField(max_length=50)

urls.py

urlpatterns = [
    path('', user_login),
    path('logout/', user_logout, name='user_logout'),
]

Также, если вы не сделали страницу регистрации, вы должны создать пользователя вручную с помощью команды python3 manage.py createsuperuser

Для страницы регистрации:

urls.py


urlpatterns = [
    ...
    path('signup/', signup, name='signup'),
]

views.py

def signup(request):
    if request.method == 'POST':
        form = SignUpForm(request.POST)
        if form.is_valid():
            form.save()
            username = form.cleaned_data.get('username')
            raw_password = form.cleaned_data.get('password1')
            user = authenticate(username=username, password=raw_password)
            login(request, user)
            return redirect('home')
    else:
        form = SignUpForm()
    return render(request, 'signup.html', {'form': form})

forms.py

class SignUpForm(UserCreationForm):
    first_name = forms.CharField(max_length=30, required=False, help_text='Optional.')
    last_name = forms.CharField(max_length=30, required=False, help_text='Optional.')
    email = forms.EmailField(max_length=254, help_text='Required. Inform a valid email address.')
Вернуться на верх