Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Validação do login apresenta erro

Saudações!

Após efetuar o logout e refazer o login através do botão Login, aparece o seguinte erro depois que digito usuário e senha e clico para logar:

"Not Found The requested URL was not found on the server. If you entered the URL manually please check your spelling and try again."

A url fica da seguinte maneira: http://127.0.0.1:5000/None

Caso eu faça o login através dos botões Novo Jogo e Editar, o erro não aparece e sou redirecionado para devida página corretamente.

Como posso corrigir essa situação?

2 respostas

Olá, Adriano! Tudo bem?

Pelo que você descreveu, parece que o problema está na rota que está sendo chamada quando você clica no botão de login.

O erro "Not Found" geralmente indica que o servidor não conseguiu encontrar a rota especificada, e a URL que você mencionou (http://127.0.0.1:5000/None) sugere que a rota esperada não está sendo passada corretamente.

Quando você clica em "Novo Jogo" ou "Editar", provavelmente está sendo redirecionado para uma rota específica, e é por isso que não está tendo problemas. No entanto, quando você clica em "Login", parece que a rota esperada não está sendo fornecida.

Uma possível solução seria verificar o código responsável por lidar com o clique no botão de login. Especificamente, você deve verificar se a rota correta está sendo passada.

Por exemplo, se você estiver usando o método redirect() do Flask para redirecionar o usuário após o login, certifique-se de que a rota passada para esse método é válida. Se você estiver usando o método url_for(), certifique-se de que o nome da função de visualização passada para esse método é correto.

Aqui está um exemplo de como você pode estar usando esses métodos:

from flask import redirect, url_for

@app.route('/login', methods=['POST'])
def login():
    # código de autenticação aqui
    return redirect(url_for('home'))

Neste exemplo, após o login bem-sucedido, o usuário é redirecionado para a função de visualização 'home'. Se 'home' não existir ou estiver escrito incorretamente, você verá um erro semelhante ao que descreveu.

Espero ter ajudado e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.
solução!

Resolvi a questão, o problema estava no HTML. Eu não havia informado o comando "or url_for('index')" na linha do input. Obrigado pela atenção.

<form method="POST" action="{{ url_for('autenticar') }}">
            <input type="hidden" name="proxima" value="{{ proxima **or url_for('index')** }}">
            {{ form.csrf_token() }}
            <div class="form-group">
                {{ form.nickname.label(class="form-label") }}
                {{ form.nickname(class="form-control") }}
            </div>

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software