Oi, Vinícius! Tudo bem?
De acordo com a mensagem de erro 2003 (HY000): Can't connect to MySQL server on '127.0.0.1:3306' (111)
há um problema de conexão com o servidor MySQL, devemos então conferir se o nosso servidor MySQL está rodando ou se as credenciais de acesso ao banco de dados estão corretas, por meio das configurações do banco de dados no nosso código.
Somado a isso, a mensagem de erro NameError: name 'conn' is not defined
nos informa que a variável 'conn' não está definida, o que provavelmente está ocorrendo pois a definição de 'conn' está em um bloco de código que não foi executado devido ao erro de conexão com o MySQL.
Dessa forma, é importante inicialmente conferir se executamos corretamente os seguintes códigos no terminal do nosso projeto, para nos conectarmos e interagirmos com bancos de dados MySQL usando Python:
pip3.exe install mysqlclient
pip install mysql-connector-python
Além do comando para instalar a nossa ferramenta de mapeamento objeto-relacional (ORM) para Flask:
pip install flask-sqlalchemy
Somado a isso, devemos conferir se colocamos o comando abaixo no inicio do nosso documento jogoteca.py
:
from flask_sqlalchemy import SQLAlchemy
E também se as configuração do URI do Banco de Dados estão semelhantes às configurações abaixo e se estamos inicializando o Flask-SQLAlchemy por meio do comando db = SQLAlchemy(app)
:
app.config['SQLALCHEMY_DATABASE_URI'] = \
'{SGBD}://{usuario}:{senha}@{servidor}/{database}'.format(
SGBD = 'mysql+mysqlconnector',
usuario = 'root',
senha = 'admin',
servidor = 'localhost',
database = 'jogoteca'
)
db = SQLAlchemy(app)
Caso o problema persista, peço que me mande mais informações sobre o seu código, seria ótimo o link com o repositório do projeto no GitHub, por exemplo, para que eu possa testá-lo e assim encontrar uma resposta mais assertiva!
Espero ter ajudado! Caso tenha ficado alguma dúvida, sinta-se à vontade em comunicar, estou à disposição!
Um forte abraço e bons estudos!
Caso este post tenha te ajudado, por favor, marcar como solucionado ✓