使用pycharm 建立flask文件,连接数据库了,但是程序一运行就会报错
C:\Users\Administrator\AppData\Roaming\Python\Python310\site-packages\flask_sqlalchemy_init.py:851: UserWarning: Neither SQLALCHEMY_DATABASE_URI nor SQLALCHEMY_BINDS is set. Defaulting SQLALCHEMY_DATABASE_URI to "sqlite:///:memory:".
warnings.warn(
C:\Users\Administrator\AppData\Roaming\Python\Python310\site-packages\flask_sqlalchemy_init.py:872: FSADeprecationWarning: SQLALCHEMY_TRACK_MODIFICATIONS adds significant overhead and will be disabled by default in the future. Set it to True or False to suppress this warning.
warnings.warn(FSADeprecationWarning(
- Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
from flask import Flask,render_template
from flask_sqlalchemy import SQLAlchemy
app = Flask(__name__)
# 6.创建数据库模型制作表
db = SQLAlchemy(app)
DEBUG = True
class Config:
SQLALCHEMY_COMMIT_ON_TEARDOWN = True
SQLALCHEMY_TRACK_MODIFICATIONS= False
SQLALCHEMY_DATABASE_URI = 'mysql+pymysql://root:123456@127.0.0.1:3306/aaa'
class sheets(db.Model):
__tablename__ = "bar01"
id = db.Column(db.Integer,primary_key=True,autoincrement=True)
name = db.Column(db.String(64),unique=True)
age = db.Column(db.Integer())
# 使用app.route装饰器会将URL和执行的视图函数的关系保存到app.url_map属性上。
# 处理URL和视图函数的关系的程序就是路由,这里的视图函数就是index。
@app.route("/")
def index():
sheets_list = sheets.query.all()
# 说白了,其实render_template的功能是对先引入index.html,
# 同时根据后面传入的参数,对html进行修改渲染 --- 处理数据
return render_template("bar01.html", sheets=sheets_list)
if __name__ == '__main__':
db.drop_all() # 若有表先清除
db.create_all() # 创建表
c1 = sheets(name="a",age=18) # 编写数据
c2 = sheets(name="b", age=22)