赞
踩
根据上一篇:配置文件编写,已经把各种配置根据开发环境做了区分,再config.py中,我们可以分别处理测试、生产的相关配置,这节主要说一下数据库的链接和使用
Flask定义和链接数据库文档;
Flask的SQLAlchemy;
使用SQLAlchemy链接数据库之前,先安装pymysql(pip install pymysql)。
我们先使用最简单的方式来运行代码,新增test.py文件,源码如下:
from flask import Flask from flask_sqlalchemy import SQLAlchemy from typing import List from flask import jsonify app = Flask(__name__) app.config[ 'SQLALCHEMY_DATABASE_URI'] = 'mysql+pymysql://{USERNAME}:{PASSWORD}@{HOSTNAME}:3310/{DATABASE}?charset=utf8mb4' db = SQLAlchemy() db.init_app(app) @app.route('/list') def resource_list(): return jsonify({ 'code': 0, 'msg': 'success', }) app.run()
运行结果如下:
项目运行成功,那么我们把这个数据库的相关配置写进config.py,就成了,config.py源码如下:
# import os # 基础配置,使用继承的方式 class BaseConfig: TESTING = False # MySQL所在主机名,默认127.0.0.1 HOSTNAME = "127.0.0.1" # MySQL监听的端口号,默认3306 PORT = 3306 # 连接MySQL的用户名,自己设置 USERNAME = "root" # 连接MySQL的密码,自己设置 PASSWORD = "root" # MySQL上创建的数据库名称 DATABASE = "database_learn" # 通过修改以下代码来操作不同的SQL比写原生SQL简单很多 --》通过ORM可以实现从底层更改使用的SQL # app.config['SQLALCHEMY_DATABASE_URI'] = f"mysql+pymysql://{USERNAME}:{PASSWORD}@{HOSTNAME}:{PORT}/{DATABASE}?charset=utf8mb4" class DevelopmentConfig(BaseConfig): # 开启debug DEBUG = True # mysql配置 HOSTNAME = "" USERNAME = "" PASSWORD = "" DATABASE = "" SQLALCHEMY_DATABASE_URI = "mysql+pymysql://{USERNAME}:{PASSWORD}@{HOSTNAME}:3310/{DATABASE}?charset=utf8mb4" class ProductionConfig(BaseConfig): DEBUG = False SQLALCHEMY_DATABASE_URI = "mysql+pymysql://{USERNAME}:{PASSWORD}@{HOSTNAME}:{PORT}/{DATABASE}" config = { "development": DevelopmentConfig, "production": ProductionConfig, }
然后运行就可以喽。。。。
宣传一波:大家若是有人想北京租房可以联系我,主要是物资学院、通州北关、北苑、草房的房子。(注:我不是中介哟,我也不打算转行做中介)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。