🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
我们通过 SqlAchemy 连接数据库,安装扩展 ``` (.venv) root@airvip:~/python_app/flask-demo# pip install flask-sqlalchemy (.venv) root@airvip:~/python_app/flask-demo# pip install pymysql ``` 我们把数据库连接信息放在配置中,修改 `config.py` 文件中配置类 ``` class Config(object):     SECRET_KEY = "AIRVip123456airvip" # 数据库配置     SQLALCHEMY_DATABASE_URI = "mysql+pymysql://root:123456@127.0.0.1:3307/jdbc1" # 如果设置成 True (默认),Flask-SQLAlchemy 将会追踪对象的修改并且发送信号,需要额外的内存。 # 如果不必要,可以禁用。     SQLALCHEMY_TRACK_MODIFICATIONS = True SQLALCHEMY_ECHO = True # 开发模式开启可以查看 sql 语句 ``` 改造 `app` 目录下的 ` __init__ ` 初始化文件 ``` #!/usr/bin/env python3 # -*- encoding: utf-8 -*- from flask import Flask from flask_sqlalchemy import SQLAlchemy from config import config_map from app.utils.commons import ReCoverter # 创建数据库对象 db = SQLAlchemy() # 工厂模式 def create_app(config_name):     app = Flask(__name__) # 设置 flask 的配置信息     config_class = config_map[config_name]     app.config.from_object(config_class) # 使用 app 初始化 db db.init_app(app) # 为 flask 添加自定义的转换器 app.url_map.converters["re"] = ReCoverter # 注册蓝图 from app import api_1_0     app.register_blueprint(api_1_0.bp, url_prefix="/api/v1.0") # 如果只是接口,可以不注册 admin 模块 from app import admin     app.register_blueprint(admin.bp, url_prefix="/admin") return app ```