1
resposta

reenviar formulario

quando faço o loguin da pagina e em seguida aperto para retornar pede para Reenviar o formulário?

Para exibir esta página da Web corretamente, reenvie os dados inseridos anteriormente. Ao fazer isso, você repetirá qualquer ação que esta página executou anteriormente.

Atualizar para reenviar os dados necessários para carregar esta página.

ERR_CACHE_MISS

alguem sabe o porque e como resolver

1 resposta

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!