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

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

Ao inserir o login e senha na rota /login, apareceu a seguinte mensagem:

Not Found

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

6 respostas

Posta aí o html login onde chama a rota e depois views, no caso a rota login

    {% with messages = get_flashed_messages() %}
        {% if messages %}
            <ul id="messages" class="list-unstyled">
            {% for message in messages %}
                <li class="alert alert-success">{{ message }}</li>
            {% endfor %}
            </ul>
        {% endif %}
    {% endwith %}

    <h1>Faça seu login</h1>
    <form method="POST" action="{{ url_for('autenticar') }}">
        <input type="hidden" name="proxima" value="{{ proxima }}">
        <p><label>Nome de usuário:</label> <input class="form-control" type="text" name="usuario" required></p>
        <p><label>Senha:</label> <input class="form-control" type="password" name="senha" required></p>
        <p><button class="btn btn-primary" type="submit">Entrar</button></p>
    </form>
</div>

@app.route('/login') def login(): proxima = request.args.get('proxima') return render_template('login.html', proxima=proxima)

solução!

Está tudo igual faltou só autenticar, segue a minha para você conferir já que você não enviou:

@app.route('/autenticar', methods=['POST',])
def autenticar():
    usuario = Usuarios.query.filter_by(nickname=request.form['usuario']).first()
    if usuario:
        if request.form['senha'] == usuario.senha:
            session['usuario_logado'] = usuario.nickname
            flash(usuario.nickname + ' logado com sucesso!')
            proxima_pagina = request.form['proxima']
            if proxima_pagina != 'None':
                return redirect(proxima_pagina)
            else:
                return redirect('/')
        else:
            flash("Usuário ou senha não reconhecidos!")
            return redirect(url_for('login'))
    else:
        flash("Usuário ou senha não reconhecidos!")
        return redirect(url_for('login'))

Not Found

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

Não encontrado

A URL solicitada não foi encontrada no servidor. Se você inseriu o URL manualmente, verifique a ortografia e tente novamente.

Essa mensagem está afirmando que não encontrou url autenticar, será que você escreveu o nome dessa rota autenticar errado lá views.py.

Salvou!!

Estava faltando o último If:

if proxima_pagina != 'None': return redirect(proxima_pagina) else: return redirect('/')