1
resposta

nao consigo fazer o login

Esta me retornando isso Bad Request The CSRF session token is missing.

<input type="hidden" name ="proxima" value="{{ proxima }}">
             <!-- esse token é necssario para que a proteção seja aplicada -->
             {{ form.csrf_token() }}
             
            <div class ="form-group">
                {{ form.nome_usuario.label(class = "form-label") }}
                {{ form.nome_usuario(class = "form-control") }}
            </div>
            <div class ="form-group">
                {{ form.senha.label(class = "form-label") }}
                {{ form.senha(class = "form-control") }}
            </div>
            <div class ="form-group">
                {{ form.login(class="btn btn-primary") }}
            </div>
        </form>
1 resposta

Oi Pedro! Tudo bem?

A mensagem "Bad Request: The CSRF session token is missing" indica que o token CSRF não está sendo enviado corretamente com o formulário.

Aqui estão algumas dicas para resolver esse problema:

  1. Certifique-se de que o CSRF está habilitado: verifique se você habilitou a proteção CSRF no seu aplicativo Flask. Normalmente, isso é feito ao inicializar a extensão Flask-WTF. Por exemplo:

    from flask import Flask
    from flask_wtf import CSRFProtect
    
    app = Flask(__name__)
    app.config['SECRET_KEY'] = 'sua_chave_secreta_aqui'
    csrf = CSRFProtect(app)
    
  2. Verifique a configuração do formulário: certifique-se de que o seu formulário está sendo passado corretamente para o template. No seu views.py, o código deve estar parecido com isso:

    from flask import render_template, request
    from helpers import FormularioUsuario
    
    @app.route('/login', methods=['GET', 'POST'])
    def login():
        form = FormularioUsuario()
        if form.validate_on_submit():
            # lógica de autenticação
            pass
        return render_template('login.html', form=form, proxima=request.args.get('proxima'))
    

Espero que essas dicas ajudem a resolver o problema, mas caso não resolvam, peço que compartilhe todo o seu projeto, via GitHub ou Drive do Google, para que eu possa fazer testes.

Bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.