初始化Flask app时的AttributeError - ' MySQL'对象没有属性' connection'

时间:2018-02-18 18:40:56

标签: python mysql

我试图与MySQL服务器一起运行一个烧瓶应用程序。但我似乎无法通过connect-to-db阶段。我的app.py包含以下代码:

from flask import Flask, render_template
from flaskext.mysql import MySQL

app = Flask(__name__)
mysql = MySQL()

app.config['MYSQL_DATABASE_HOST '] = 'localhost'
app.config['MYSQL_DATABASE_USER'] = 'root'
app.config['MYSQL_DATABASE_PASSWORD'] = 'mypassword'
app.config['MYSQL_DATABASE_DB'] = 'users'
app.config['MYSQL_CURSORCLASS'] = 'DictCursor'
mysql.init_app(app)
cur = mysql.connection.cursor()

@app.route('/')
def index():
    return render_template('layout.html')

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

当我在Git Bash中运行此脚本时,我得到:

$ python app.py
Traceback (most recent call last):
  File "app.py", line 13, in <module>
    cur = mysql.connection.cursor()
AttributeError: 'MySQL' object has no attribute 'connection'

我认为上面的app.py脚本没有任何问题。 MySQL模块已导入,初始化,但仍未运行。有人可以提供一些可能出现问题的建议吗?

2 个答案:

答案 0 :(得分:0)

我认为你应该导入它然后运行你的代码:

import mysql
import mysql.connector

答案 1 :(得分:0)

您可以更改光标的方式:

mysql.init_app(app)
cur = mysql.get_db().cursor()

或使用您之前的代码并将导入行更改为:

from flask_mysqldb import MySQL

我希望它有所帮助。