Django не может войти в систему
Я не могу войти в систему. Пожалуйста, помогите мне. У меня есть модель пользователя по умолчанию в панели администратора. Регистрация работает нормально, но я не могу войти на главную страницу. Пожалуйста, отладьте это
ФайлViews.py:
def loginpage(request):
if request.method == 'POST':
username = request.POST['username']
password = request.POST['password']
user = authenticate(username=username, password=password)
if user is not None:
login(request, user)
return redirect('home')
else:
messages.error(request, "Wrong username or password")
return render(request,'loginpage.html')
else:
return render(request,'loginpage.html')
Регистрация просмотров здесь:
def register(request):
if request.method == "POST":
fname = request.POST['fname']
lname = request.POST['lname']
username = request.POST['username']
id = request.POST['id']
email = request.POST['email']
password = request.POST['password']
if User.objects.filter(username = username).exists():
messages.error(request, "Username already exists")
return redirect('/')
if User.objects.filter(email = email).exists():
messages.error(request, "Email already exists")
return redirect('/')
if not request.POST.get('email').endswith('@northsouth.edu'):
messages.error(request, "Enter valid NSU Email")
return redirect('/')
else:
user = User.objects.create(first_name=fname, last_name=lname, username = username, id=id, email=email, password=password)
user.save()
if user is not None:
return redirect('register')
reg = request.POST.get('username')
messages.info(request, 'Account created for - Mr. ' + reg)
return redirect('/')
else:
return render (request, 'registration.html')
Вы не сделали отступ от тела функции. Код должен выглядеть следующим образом;
def loginpage(request):
if request.method == 'POST':
username = request.POST['username']
password = request.POST['password']
user = authenticate(username=username, password=password)
if user is not None:
login(request, user)
return redirect('home')
else:
messages.error(request, "Wrong username or password")
return render(request,'loginpage.html')
else:
return render(request,'loginpage.html')