自学flask到数据库操作这一块发现一个巨坑,教材中的运行版本和实际的运行版本不一致导致按照教材上做练习会出现错误,不得不吐槽有些教材真的垃圾,你用的哪个版本的库能不能在书中给个提示!
以下是解决学习FlaskWeb全栈开发实战(清华大学出版社),数据库操作这一节出现的巨坑。
因书中对自己所用的库的版本没有说,搞得按照书中的代码运行起来都是错误,以下是纠正代码。
from flask import Flask,render_template
from flask_sqlalchemy import SQLAlchemy
from sqlalchemy import text
HOSTNAME="127.0.0.1"
PORT=3306
USERNAME="root"
PASSWORD="root"
DATABASE="database_learn"
app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI']=f"mysql+pymysql://{USERNAME}:{PASSWORD}@{HOSTNAME}:{PORT}/{DATABASE}?charset=utf8"
db = SQLAlchemy(app)
class User(db.Model):
__tablename__="user"
id=db.Column(db.Integer,primary_key=True,autoincrement=True)
username=db.Column(db.String(100))
password = db.Column(db.String(100))
with app.app_context():
with db.engine.connect() as conn:
rs=conn.execute(text("select 1"))
print(rs.fetchone())
db.create_all()
if __name__ == '__main__':
app.run()
作者在学习FlaskWeb全栈开发实战(清华大学出版社)时遇到问题,因为教材中未指定库版本,导致与实际运行环境不兼容。文章详细描述了如何修正代码以适应MySQL连接,强调了教材提供具体版本信息的重要性。
635

被折叠的 条评论
为什么被折叠?



