胖蔡说技术
随便扯扯

Flask 中使用mysql数据库

更多Flask阅读指南:

Flask基础学习

Flask 扩展

Flask 进阶

常见的Flask Web开发教程大多都是使用sqlite数据库作为开发存储数据库,本篇文章主要介绍如何在Flask中使用mysql数据库。

安装

通常我们可以使用flask-sqlalchemy插件实现数据库的连接、查询、更新、删除等操作,并通过ORM实现数据的绑定。一般地默认使用sqlite数据库并不需要额外安装依赖,而使用mysql数据库则需要额外安装mysql的驱动包,安装如下:

$ pip install flask-sqlalchemy
$ pip install flask-mysqldb

配置使用

使用flask-sqlalchemy代理数据库的操作,需要在flask的config中配置连接路径实现数据库的连接操作,配置代码如下:

from flask import Flask
from flask_sqlalchemy import SQLAlchemy

app = Flask(__name__)
db = SQLAlchemy()


# 增加数据库模型视图
class Users(db.Model):

    __tablename__ = 'users'

    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    created_at = db.Column(db.TIMESTAMP)
    updated_at = db.Column(db.TIMESTAMP)
    username = db.Column(db.String(50))
    email = db.Column(db.String(50))
    nickname = db.Column(db.String(100))
    avatar = db.Column(db.String(200))
    password_hash = db.Column(db.String(200))
    status = db.Column(db.Integer)

def createApp():
    db.init_app(app)
    # 设置数据库连接uri
    
app.config['SQLALCHEMY_DATABASE_URI']='mysql://root:123@localhost:3306/test' 
    # 设置sqlalchemy自动更新跟踪数据库
    app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = True 

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

遇到的问题

在windows系统中下载依赖遇到的常见的问题如下:

1、Microsoft Visual C++ 14.0 or greater is required. Get it with “Microsoft C++ Build Tools”
下载flask-mysqldb报错,需要安装Microsoft Visual C++ 14.0开发工具,需要根据要求下载 Microsoft C++ Build Tools下载程序,选择下载开发c/c++工具。

2、Failed building wheel for mysqlclient

下载flask-mysqldb时会自动下载mysqlclient,发现出现Failed building wheel for mysqlclient错误。

排查发现需要我们自己下载对应系统的wsl文件继续安装,可以对照这如下提供的地址找到适合的mysqlclientwsl文件地址如下:https://www.lfd.uci.edu/~gohlke/pythonlibs/#mysql-python

3、ERROR:mysqlclient-1.4.6-cp38-cp38-win_amd64.whl is not a supported wheel on this platform

对应的python版本不匹配,需要下载适配的python版本的wsl文件进行安装,具体操作可点击链接查看操作。

赞(0) 打赏
转载请附上原文出处链接:胖蔡说技术 » Flask 中使用mysql数据库
分享到: 更多 (0)

请小编喝杯咖啡~

支付宝扫一扫打赏

微信扫一扫打赏