Flask配置MySQL数据库使用

不管现实多么惨不忍睹,都要持之以恒地相信,这只是黎明前短暂的黑暗而已。不要惶恐眼前的难关迈不过去,不要担心此刻的付出没有回报,别再花时间等待天降好运。真诚做人,努力做事!你想要的,岁月都会给你。Flask配置MySQL数据库使用,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com,来源:原文

一、创建Flask

pip install flask

成功安装之后app.py如下所示:

from flask import Flask
app = Flask(__name__)

@app.route('/')
def hello_world():
    return 'hello world'

if __name__ == '__main__':
    app.run()

二、安装sqlalchemy

  • sqlAlchemy:一个关系型数据库框架,它提供了高层的 ORM 和底层的原生数据库的操作。sqlALchemy 实际上是对数据库的抽象,让开发者不用直接和 sql 语句打交道,而是通过 Python 对象来操作数据库,在舍弃一些性能开销的同时,换来的是开发效率的较大提升。

  • Flask-SQLALchemy:一个简化了 sqlAlchemy 操作的flask扩展。
    官方文档地址:http://docs.jinkan.org/docs/flask-sqlalchemy

pip install sqlalchemy

三、创建配置文件config.py

在app.py的同级目录下创建配置文件config.py,配置文件的内容如下:

# MySQL数据库配置
class BaseConfig:
	DIALECT = 'mysql'
	DRIVER = 'pymysql'
	HOST = '127.XXX.XXX.XXX'
	PORT = '3306'
	USERNAME = 'root'
	PASSWORD = '******'
	DATABASE = 'database_name'
	
	# mysql不识别utf-8,需要直接写成utf8
	SQLALCHEMY_DATABASE_URI = "{}+{}://{}:{}@{}:{}/{}?charset=utf8".format(DIALECT, DRIVER, USERNAME, PASSWORD, HOST, PORT, DATABASE)
	# SQLALCHEMY_DATABASE_URI = f"{DIALECT}+{DRIVER}://{USERNAME}:{PASSWORD}@{HOST}:{PORT}/{DATABASE}?charset=utf8"
	SQLALCHEMY_TRACK_MODIFICATIONS = True
	# SQLALCHEMY_ECHO = True

四、绑定配置文件

导入config文件中的BaseConfig类,并通过app.config添加配置文件。

from flask import Flask
from config import BaseConfig
from flask_sqlalchemy import SQLAlchemy

app = Flask(__name__)

#添加配置文件
app.config.from_object(BaseConfig)

#初始化扩展,传入app 创建db
db = SQLAlchemy(app)

# 测试是否连接成功
with app.app_context():
    with db.engine.connect() as conn:
        rs = conn.execute("select 1")
        print(rs.fetchone())  # (1,)
 
if __name__ == '__main__':
	app.run()

#添加配置文件
app.config.from_object(BaseConfig)
#初始化扩展,传入app 创建db
db = SQLAlchemy(app)

通过上述两行代码可以完成app和数据的关联,并生成一个可以操作app数据库的SQLAlchemy实例db。

参考资料

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/162777.html

(0)
飞熊的头像飞熊bm

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!