为了账号安全,请及时绑定邮箱和手机立即绑定

使用 sqlAlchemy 在我的数据库上执行 SQL 查询的问题

使用 sqlAlchemy 在我的数据库上执行 SQL 查询的问题

回首忆惘然 2021-08-14 16:28:17
我正在开发一个项目,该项目使用 Flask 和 sqlAlchemy(托管在 AWS RDS 上)连接到 mysql 服务器的网站上工作,我正在学习本教程,但是当我尝试执行 (/api/bar) 时,出现此错误。当我只执行我的 localhost:8080 时,它显示“Hello World”非常好。sqlalchemy.exc.OperationalError: (pymysql.err.OperationalError) (2003, "无法连接到 MySQL 服务器上的 'localhost' ([WinError 10061] 无法建立连接,因为目标机器主动拒绝它)") (背景关于这个错误:http : //sqlalche.me/e/e3q8)config.py database_url = "mysql+pymysql://username:password@localhost:3306/barbeerdrinker"这是我的__init__ .pyfrom flask import Flaskfrom flask import jsonifyfrom flask import make_responsefrom flask import requestimport jsonfrom barbeerdrinker import database#Flask applicationapp = Flask(__name__)@app.route("/")def hello_world():    return "Hello World"@app.route("/api/bar", methods=["GET"])def get_bars():    return jsonify(database.get_bars())@app.route("/api/bar/<name>", methods=["GETS"])def find_bar(name):    try:        if name is None:            raise ValueError("Bar is not specified")        bar = database.find_bar(name)        if bar is None:            return make_response("No bar found within given name", 404)        return jsonify(bar)    except ValueError as e:        return make_response(str(e), 400)    except Exception as e:        return make_response(str(e), 500) @app.route("/api/beers_cheaper_than", methods=["POST"])def find_beers_cheaper_than():    body = json.loads(request.data)    max_price = body['maxPrice']    return jsonify(database.filter_beers(max_price)) 数据库.pyfrom sqlalchemy import create_enginefrom sqlalchemy import sqlfrom barbeerdrinker import configengine = create_engine(config.database_url)def get_bars():    with engine.connect() as con:        rs = con.execute("SELECT name, address, city, opening, closing, phoneNum FROM bars")        return [dict(row) for row in rs]**编辑:所以问题似乎不是我的代码问题,而是 Windows 错误。我尝试做的一种解决方案是通过防火墙打开所需的端口,但无济于事。
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 270 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信