Oii Endrew, como você está?
Peço desculpas pela demora em obter um retorno.
É comum que a mensagem “Confirmar Reenvio de Formulário” apareça após o envio de um formulário, principalmente em browsers como o Google Chrome. Não é considerado um erro, mas sim um aviso, que tem como objetivo impedir que o navegador duplique acidentalmente as informações que já foram enviadas ao site, por isso é pedido a confirmação. Para evitar essa mensagem, limpe o cache e cookies do navegador e tente novamente e a título de curiosidade, também teste em outros browsers para verificar o comportamento dessa mensagem.
Outra opção, é colocar a cláusula else
na view de login
, para renderizar a página de Login quando não tiver uma solicitação do tipo POST, como mostro abaixo:
def login(request):
"""Realiza de uma pessoa no sistema"""
if request.method == 'POST':
email = request.POST['email']
senha = request.POST['senha']
if campo_vazio(email) or campo_vazio(senha):
messages.error(request, 'Os campos email e senha não podem ficar em branco')
print('Os campos email e senha não podem ficar em branco')
return redirect('login')
print(email, senha)
if User.objects.filter(email=email).exists():
nome = User.objects.filter(email=email).values_list('username', flat=True).get()
user = auth.authenticate(request, username=nome, password=senha)
if user is not None:
auth.login(request, user)
print('Login realizado com sucesso')
return redirect('dashboard')
else:
return render(request, 'usuarios/login.html')
Após isso, reinicie o servidor e verifique se obterá êxito. Mas, reitero que essa mensagem é um comportamento padrão do Chrome para evitar a duplicidade dos dados.
Qualquer dúvida fico à disposição.
Abraços e bons estudos!