1
resposta

Mesmo preenchendo os valores corretamente, os jogos não são salvos

Mesmo preenchendo os campos com valores válidos, o validate sempre retorna False

1 resposta

Estava tendo mesmo problema por aqui também, mas descobri a solução. Pelo visto o form do Flask-WTF, além de requerir os valores de jogo, categoria e console que nós definimos, também requer o campo de CSRF por padrão. Adicionar CSRF na aplicação e nos formulários é relativamente simples, primeiro vá em config.py e adicione essas linhas de código:

from flask_wtf.csrf import CSRFProtect
csrf = CSRFProtect(app)

Depois, no formulário de novo, adicione isso (no caso sem as tags de form, só deixei elas para indicar onde o {{ ... }} deve ser colocado):

<form method="post">
    {{ form.csrf_token }}
</form>

E nos formulários ainda sem o FlaskForm (como o de login), adicione o seguinte input:

<form method="post">
    <input type="hidden" name="csrf_token" value="{{ csrf_token() }}"/>
</form>

Se eu não esqueci nada, isso deve resolver seu problema. Espero ter ajudado :) Segue a página da documentação de onde tirei as informações: https://flask-wtf.readthedocs.io/en/0.15.x/csrf/

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