gpt4 book ai didi

Python/Flask mysql 游标 : Why it doesn't work?

转载 作者:行者123 更新时间:2023-11-28 19:28:55 25 4
gpt4 key购买 nike

from flask import Flask
from flask_mysqldb import MySQL

app = Flask(__name__)
app.config['MYSQL_HOST'] = 'localhost'
app.config['MYSQL_USER'] = 'root'
app.config['MYSQL_PASSWORD'] = 'password'
app.config['MYSQL_DB'] = 'todoapp'
app.config['MYSQL_CURSORCLASS'] = 'DictCursor'
mysql = MySQL(app)
cur = mysql.connection.cursor()

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

程序执行后出现错误:

cur = mysql.connection.cursor()

AttributeError: 'NoneType' 对象没有属性 'cursor'。

根据文档操作,它应该可以工作。我使用的是 Ubuntu 16.04,我已经安装了 MySQL,它可以正常工作。谁能解释为什么它不起作用?

最佳答案

你正在构建基于 flask_mysqldb 的游标,并且 Flask 应用程序不会在命中第一个路由之前自行构建,这意味着 Flask 应用程序将在 Flask 函数内构建,那时你的 MySQL 连接也可以基于你的 app.config 参数构建,然后你的游标可以基于 MySQL 连接构建:Flask构建 > MySQL连接构建 > Cursor构建。

所以你必须在 Flask 函数中使用你的游标构造函数:而不是:

cur = mysql.connection.cursor()

放:

@app.route("/")
def index():
cur = mysql.connection.cursor()

关于Python/Flask mysql 游标 : Why it doesn't work?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47478913/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com