1
resposta

[Dúvida] Erro ao incluir o debug=True

Ao incluir a instrução 'debug = True' o código quebra com o erro abaixo, como resolver?

"An exception has occurred, use %tb to see the full traceback.

SystemExit: 1"

from flask import Flask, render_template, request

class Jogo:
    def __init__(self, nome, categoria, console):
        self.nome=nome
        self.categoria=categoria
        self.console=console

Jogo1 = Jogo('Tetris', 'Puzzle', 'Atari')
Jogo2 = Jogo('God of War', 'Rack n Slash', 'PS2')
Jogo3 = Jogo('Mortal Combat', 'Luta', 'PS2')
lista_jogos = [Jogo1, Jogo2, Jogo3]

app = Flask(__name__)

@app.route('/inicio')

def ola():
    return render_template('lista.html', titulo = 'Jogos', jogos = lista_jogos)

@app.route('/novo')
def novo():
    return render_template('novo.html', titulo = 'Novo Jogo')

@app.route('/criar', methods = ['POST',])
def criar():
    nome = request.form['nome']
    categoria = request.form['categoria']
    console = request.form['console']
    jogo = Jogo(nome, categoria, console)
    lista_jogos.append(jogo)
    return render_template('lista.html', titulo = 'Jogos', jogos = lista_jogos)

app.run(debug=True)

'''
ocorre o mesmo problema se fizer da forma abaixo:

if __name__ == '__main__':
    app.run(debug=True)
'''

Agradeço desde já

1 resposta

Olá, Samuel! Tudo bem?

O erro "SystemExit: 1" geralmente ocorre quando o Flask não consegue iniciar o servidor, por algum motivo.

Verifique se o servidor Flask já está sendo executado em outro lugar no seu sistema. Isso pode acontecer se você tiver iniciado a aplicação anteriormente e não a tiver encerrado corretamente. Já que, realizei testes com o código que você compartilhou e o mesmo não retornou nenhum erro.

Por fim, verifique se o seu arquivo Python não tem o mesmo nome de um dos módulos que você está importando. Caso nenhum desses pontos solucione o seu problema, peço que compartilhe todo o seu projeto via GitHub ou Drive do Google.

Espero ter ajudado e bons estudos!

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