Flask-Mysqldb NameError:名称“ _mysql”未定义

时间:2020-10-03 10:38:10

标签: python mysql-python flask-mysql

我已经尝试解决这个问题已有一段时间了。 我尽了我所能找到的一切,却一无所获。请帮助。

from flask import Flask, request, jsonify
from flask_mysqldb import MySQL

app = Flask(__name__)

app.config['MYSQL_USER'] = 'root'
app.config['MYSQL_PASSOWRD'] = 'password'
app.config['MYSQL_HOST'] = 'localhost'
app.config['MYSQL_DB'] = 'try_flask'

app.config['MYSQL_CURSORCLASS'] = 'DictCursor'

mysql = MySQL(app)

if __name__ == '__main__':
    app.run(debug=True)

@app.route('/employee', methods=['GET','POST'])
def employee():
    if request.method == 'GET':
        cur = mysql.connection.cursor()
        cur.execute('''SELECT * FROM employee''')
        results = cur.fetchall()
    return jsonify(results)

这是我的代码,它总是返回: 文件“ app1.py”的第3行 从flask_mysqldb导入MySQL 在第1行的“ /usr/local/lib/python3.8/site-packages/flask_mysqldb/init.py”文件中 导入MySQLdb 在第24行的“ /usr/local/lib/python3.8/site-packages/MySQLdb/init.py”文件中 version_info,_mysql.version_info,_mysql。文件

NameError:名称'_mysql'未定义

我正在使用macOS catalina,Visual Studio Code中的python 3.8.5。 我已经安装了MySQL法兰,MySQL客户端,MySQL连接器。

1 个答案:

答案 0 :(得分:0)

您似乎早些时候正在初始化应用程序,您的代码应该像这样

from flask import Flask, request, jsonify
from flask_mysqldb import MySQL

app = Flask(__name__)

app.config['MYSQL_USER'] = 'root'
app.config['MYSQL_PASSOWRD'] = 'password'
app.config['MYSQL_HOST'] = 'localhost'
app.config['MYSQL_DB'] = 'try_flask'

app.config['MYSQL_CURSORCLASS'] = 'DictCursor'

mysql = MySQL(app)

@app.route('/employee', methods=['GET','POST'])
def employee():
    if request.method == 'GET':
        cur = mysql.connection.cursor()
        cur.execute('''SELECT * FROM employee''')
        results = cur.fetchall()
    return jsonify(results)
## i saw everywhere app started at then end of app.py
if __name__ == '__main__':
    app.run(debug=True)