我已经尝试解决这个问题已有一段时间了。 我尽了我所能找到的一切,却一无所获。请帮助。
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连接器。
答案 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)