2
respostas

Flash message aparecendo duplicada

Olá! A mensagem que aparece quando a senha está incorreta está aparecendo duplicada na minha app. A de confirmação de login não. Por que isso pode estar acontecendo?

2 respostas

Jéssica, poderia postar os seus códigos para que eu possa ajuda-la?

  • o arquivo em python
  • o arquivo html em questão

login.html

{% extends "template.html" %}
{% block conteudo %}

{% with messages = get_flashed_messages() %}
    {% if messages %}
        {% for message in messages %}
            <div class="alert alert-success" role="alert">{{ message }}</div>
        {% endfor %}
    {% endif %}
{% endwith %}

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

{% endblock %}

jogoteca.py

@app.route('/autenticar', methods=['POST', ])
def autenticar():
    usuario = request.form['usuario']
    if usuario in usuarios:
        if usuarios[usuario].senha == request.form['senha']:
            session['usuario_logado'] = usuario
            flash(usuario + ' logou com sucesso!')
            proxima_pagina = request.form['proxima']
            return redirect(proxima_pagina)
    else:
        flash('Não logado, tente de novo.')
        return redirect(url_for('login'))