Por algum motivo, a condicional if da rota criar não está funcionando. Porém a aplicação identifica quando o formulário não é preenchido sem essa condicional . Alguém sabe o motivo?
@app.route('/criar',methods=['POST',])
def criar():
form = FormularioJogo(request.form)
#if not form.validate_on_submit():
#return redirect(url_for('novo'))
nome = form.nome.data
categoria = form.categoria.data
console = form.console.data
jogo = Jogos.query.filter_by(nome=nome).first()
if jogo:
flash("O Jogo Já Existe! ")
return redirect(url_for('index'))
novo_jogo = Jogos(nome=nome,categoria=categoria,console=console)
db.session.add(novo_jogo)
db.session.commit()
arquivo = request.files['arquivo']
upload_path = app.config['UPLOAD_PATH']
timestamp = time.time()
arquivo.save(f'{upload_path}/{novo_jogo.id}-{timestamp}.jpg')
return redirect(url_for('index'))
class FormularioJogo(FlaskForm):
nome = StringField('Nome do jogo', [validators.DataRequired(), validators.length(min=1,max=50)])
categoria = StringField('Categoria', [validators.DataRequired(), validators.length(min=1,max=40)])
console = StringField('Console', [validators.DataRequired(), validators.length(min=1,max=20)])
salvar = SubmitField('Salvar')