python - 错误:“MySQL”对象没有属性“连接”/“MySQL”对象没有属性“get_db”
问题描述
我是烧瓶的新手,我正在编写一个基本的登录程序。每次我修改我都会以上面提到的错误结束。下面是我的代码供参考。有人可以纠正我。
@app.route('/')
def index():
return render_template('form_ex.html')
@app.route('/',methods = ['POST'])
def Authenticate():
login = request.form['u']
password = request.form['p']
cursor = mysql.get_db().cursor()
cursor.execute("SELECT * FROM UserLogin WHERE login=%s and password=%s")
data= cursor.fetchone()
if data is None:
return("Username or password incorrect")
else:
return("You are logged in")
解决方案
从代码的外观看,您没有初始化 MySQL DB,取自此链接,答案如下:在 Flask 中使用 MySQL
首先你需要安装 Flask-MySQL 包。以 pip 为例:
pip install flask-mysql
接下来您需要添加一些配置并初始化 MySQL:
from flask import Flask
from flaskext.mysql import MySQL
app = Flask(__name__)
mysql = MySQL()
app.config['MYSQL_DATABASE_USER'] = 'root'
app.config['MYSQL_DATABASE_PASSWORD'] = 'root'
app.config['MYSQL_DATABASE_DB'] = 'EmpData'
app.config['MYSQL_DATABASE_HOST'] = 'localhost'
mysql.init_app(app)
Now you can get connection and cursor objects and execute raw queries:
conn = mysql.connect()
cursor =conn.cursor()
cursor.execute("SELECT * from User")
data = cursor.fetchone()
推荐阅读
- python - 等待和异步,协程从未被等待
- liquibase - 如何安装旧版本的 liquibase?
- tcl - upvar、TclOO 和 next - (可能)意外行为的解释
- android - FLUTTER:软件包安装错误:SAMSUNG 上的失败 [INSTALL_FAILED_INSUFFICIENT_STORAGE]
- r - 检查 Rcpp 中 S4 对象的多重继承
- file-upload - 我正在尝试 TinyMCE 并想做图像上传,但即使是他们网站上的演示似乎也不起作用。有什么建议么?
- python - Python计算数字之间的聚合出现
- python - Instagram:通过 Python 脚本访问用户 json 数据
- ios - 我将使用ML Kit,我想知道ML Kit在录制时支持人脸检测吗?
- node.js - 如何防止用户更改 URL 中的个人资料 ID?Vue 3 节点