简体   繁体   English

如何使用SQLAlchemy将远程MySQL数据库连接到flask应用程序?

[英]How to connect remote mySQL db to flask app using SQLAlchemy?

I want to connect to online MySQL DB to the flask app I made, so I can get rid of localhost stuff. 我想将在线MySQL数据库连接到我制作的flask应用程序,因此可以摆脱localhost的问题。

I have this code 我有这个代码

from flask import Flask, request, jsonify
from flask_sqlalchemy import SQLAlchemy
import os
import uuid
from werkzeug.security import generate_password_hash , check_password_hash

app = Flask(__name__)

app.config['SECRET_KEY'] = 'thisissecret'
# app.config['SQLALCHEMY_DATABASE_URI'] = os.environ['sqlite:////Users/confuapplication/PycharmProjects/untitled/.db']
app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql://saifaliunity:123123123!@saifaliunity.mysql.pythonanywhere-services.com/saifaliunity$todo';
# app.config['SQLALCHEMY_DATABASE_URI'] = os.environ['DATABASE_URL']

db = SQLAlchemy(app)

So well this is what localhost environment is, I have setup MySQL and python app online and want to set dbname, host, username, password to the flask app. 很好,这就是本地主机环境,我已经在线安装了MySQL和python应用程序,并希望为flask应用程序设置dbname,主机,用户名,密码。 But don't know how to do this. 但是不知道该怎么做。

After using the answer below this is the error log. 使用下面的答案后,这是错误日志。

2019-02-26 10:16:54,896: Error running WSGI application
2019-02-26 10:16:54,900: ModuleNotFoundError: No module named 'flask_app'
2019-02-26 10:16:54,900:   File "/var/www/saifaliunity_pythonanywhere_com_wsgi.py", line 16, in <module>
2019-02-26 10:16:54,900:     from flask_app import app as application  # noqa
2019-02-26 10:16:54,901: ***************************************************
2019-02-26 10:16:54,901: If you're seeing an import error and don't know why,
2019-02-26 10:16:54,901: we have a dedicated help page to help you debug: 
2019-02-26 10:16:54,901: https://help.pythonanywhere.com/pages/DebuggingImportError/
2019-02-26 10:16:54,902: ***************************************************
2019-02-26 12:58:20,238: Error running WSGI application
2019-02-26 12:58:20,278: ModuleNotFoundError: No module named 'flask_app'
2019-02-26 12:58:20,279:   File "/var/www/saifaliunity_pythonanywhere_com_wsgi.py", line 16, in <module>
2019-02-26 12:58:20,279:     from flask_app import app as application  # noqa
2019-02-26 12:58:20,279: ***************************************************
2019-02-26 12:58:20,280: If you're seeing an import error and don't know why,
2019-02-26 12:58:20,280: we have a dedicated help page to help you debug: 
2019-02-26 12:58:20,280: https://help.pythonanywhere.com/pages/DebuggingImportError/
2019-02-26 12:58:20,280: ***************************************************
2019-02-26 12:58:21,842: Error running WSGI application
2019-02-26 12:58:21,843: ModuleNotFoundError: No module named 'flask_app'
2019-02-26 12:58:21,843:   File "/var/www/saifaliunity_pythonanywhere_com_wsgi.py", line 16, in <module>
2019-02-26 12:58:21,843:     from flask_app import app as application  # noqa
2019-02-26 12:58:21,844: ***************************************************
2019-02-26 12:58:21,844: If you're seeing an import error and don't know why,
2019-02-26 12:58:21,844: we have a dedicated help page to help you debug: 
2019-02-26 12:58:21,844: https://help.pythonanywhere.com/pages/DebuggingImportError/
2019-02-26 12:58:21,844: ***************************************************

The SQLALCHEMY_DATABASE_URI should be mysql://username:password@server/db , replace username , password , server and db with your values. SQLALCHEMY_DATABASE_URI应该是mysql://username:password@server/db ,用您的值替换usernamepasswordserverdb

See the documentation for more details: http://flask-sqlalchemy.pocoo.org/2.3/config/ 有关更多详细信息,请参见文档: http : //flask-sqlalchemy.pocoo.org/2.3/config/

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM