编辑1我在数字海洋上创建了一个托管的mysql实例,我得到了一个新的错误。
我得到以下TypeError: an integer is required (got type str)
我使用的是一个烧瓶应用程序,并且在使用flask_mysqldb时出错。
这是我收到的错误
KeyError: 'MYSQL_UNIX_SOCKET'我的目录结构是
main.pyauth.pywebsite templatesstatic__init__.py在我的init.py中,我有以下内容
from flask import Flask
from flask_mysqldb import MySQL
def create_app():
app = Flask(__name__)
app.config['MYSQL_USER'] = 'flask'
app.config['MYSQL_PASSWORD'] = 'mypw'
app.config['MYSQL_HOST'] = 'localhost'
app.config['MYSQL_DB'] = 'flask_test'
app.config['MYSQL_CURSORCLASS'] = 'DictCursor'
app.config['MYSQL_PORT'] = '3306'
from views import views
from auth import auth
app.register_blueprint(views, url_prefix='/')
app.register_blueprint(auth, url_prefix='/')
return app在我的auth.py中,如您所见,我正在尝试将结果打印到控制台。
如果我将mysql的代码移动到我的main.py中,它就能工作,并且能够打印出数据。只有当我尝试在我的auth.py中使用mysql代码时,我才会得到错误。
from flask import Blueprint, render_template, request, flash
from flask_mysqldb import MySQL
auth = Blueprint('auth', __name__)
@auth.route('/sign-up', methods=['GET', 'POST'])
def sign_up():
mysql = MySQL()
cur = mysql.connection.cursor()
cur.execute('''SELECT * FROM peeps''')
results = cur.fetchall()
print(results)
return render_template("sign_up.html")发布于 2021-07-08 00:17:42
由于the app.config['MYSQL_HOST'] = 'localhost',您使用unix连接mysql。您可以将MYSQL_HOST更改为ip地址,以便使用TCP/IP连接mysql。
https://stackoverflow.com/questions/68294153
复制相似问题