Ошибка при вводе данных формы входа на основе формы регистрации - PullRequest
0 голосов
/ 07 июля 2019

Я пытаюсь ввести данные в форме входа. Но это не аутентификация имени пользователя и пароля с существующими именами пользователей и паролями, присутствующими в данных формы.Вот мой код

views.py

from django.shortcuts import render
from django.http import HttpResponseRedirect, HttpResponse
from django.urls import reverse
from django.contrib.auth import authenticate, login, logout
from . forms import signup_form,loginform,profileform
from . models import registration_form

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

def display_form(request):
    rform = signup_form(request.POST)
    if rform.is_valid():
       rform.save()
       return HttpResponseRedirect('/profile/')
       else:
          return render(request,'loginapp/first.html',{'rform': rform})

def login_form(request):
    if request.method == 'POST':
       Username = request.POST.get('Username')
       Password = request.POST.get('Password')
       registration_form=
            authenticate(Username=Username,Password=Password)
       print("Username")
       if registration_form is None:
          if registration_form.is_active:
            login(request,registration_form)
            return HttpResponseRedirect(reverse('index'))
          else:
            return HttpResponse("Your account was inactive.")
       else:
         print("Someone tried to login and failed.")
         print("They used Username: {} and Password: 
                              {}".format(Username,Password))
         return HttpResponse("Invalid login details given")
       return HttpResponseRedirect('/profile/')
    else:
      return render(request, 'loginapp/login.html', {})

def profile_form(request):
      return render(request,'loginapp/profile.html')

1 Ответ

0 голосов
/ 07 июля 2019

Попробуйте так с вашей функцией входа в систему

def login_form(request):
        if request.method == 'POST':
           Username = request.POST.get('username')
           Password = request.POST.get('password')

           user=authenticate(request,username=Username,password=Password)
           print("Username")
           if user and user.is_active: 
                login(request,user)
                return HttpResponseRedirect(reverse('index'))
           elif user and not user.is_active:
                return HttpResponse("Your account was inactive.")
           else:
             print("Someone tried to login and failed.")
             print("They used Username: {} and Password: 
                                  {}".format(Username,Password))
             return HttpResponse("Invalid login details given")
           return HttpResponseRedirect('/profile/')
        else:
          return render(request, 'loginapp/login.html', {})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...