我正在開發(fā)一個項目,該項目使用 Flask 和 sqlAlchemy(托管在 AWS RDS 上)連接到 mysql 服務(wù)器的網(wǎng)站上工作,我正在學(xué)習(xí)本教程,但是當(dāng)我嘗試執(zhí)行 (/api/bar) 時,出現(xiàn)此錯誤。當(dāng)我只執(zhí)行我的 localhost:8080 時,它顯示“Hello World”非常好。sqlalchemy.exc.OperationalError: (pymysql.err.OperationalError) (2003, "無法連接到 MySQL 服務(wù)器上的 'localhost' ([WinError 10061] 無法建立連接,因為目標(biāo)機器主動拒絕它)") (背景關(guān)于這個錯誤: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)) 數(shù)據(jù)庫.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 錯誤。我嘗試做的一種解決方案是通過防火墻打開所需的端口,但無濟(jì)于事。
添加回答
舉報
0/150
提交
取消