Я пытался запустить приведенный ниже код несколько раз, но продолжаю получать сообщение об ошибке:
TypeError: connect () отсутствует 1 обязательный позиционный аргумент: 'user'
Я уже пытался изменив поле имени пользователя на user в функции createEngine. Искал, может ли кто-нибудь помочь мне понять это
db_user = os.environ.get("filleruser")
db_pass = os.environ.get("fillerpw")
db_name = os.environ.get("fillerdatabasename")
cloud_sql_connection_name = os.environ.get("fillerconnectionname")
app = Flask(__name__)
logger = logging.getLogger()
db = sqlalchemy.create_engine(
sqlalchemy.engine.url.URL(
drivername='postgres+pg8000',
username=db_user,
password=db_pass,
database=db_name,
query={
'unix_sock': '/cloudsql/{}/.s.PGSQL.5432'.format(
cloud_sql_connection_name)
}
),
max_overflow=2,
pool_timeout=30, # 30 seconds
pool_recycle=1800, # 30 minutes
)
@app.route('/', methods=['GET'])
def index():
users = []
with db.connect() as conn:
# Execute the query and fetch all results
recent_votes = conn.execute(
"SELECT name FROM test"
).fetchall()
# Convert the results into a list of dicts representing votes
for row in recent_votes:
votes.append({
'name': row[0],
})
print(row)
return render_template(
'index.html',
names=users
)
if __name__ == '__main__':
app.run(host='127.0.0.1', port=8080, debug=True)