更多Flask
阅读指南:
Flask基础学习
- 使用virtualenv实现python的虚拟环境
- Python Flask 入门开发
- Python Flask框架配置管理加载的三种方式
- Python Flask 路由配置
- Python Flask静态文件配置
- Python Flask模板渲染
- Python Flask 蓝图Blueprint
- Flask 使用Context上下文
- Flask中SQLAlchemy的使用
Flask 扩展
- 使用flask-script实现Flask项目定制shell功能
- Flask 中使用flask-admin实现数据模型绑定视图
- Flask 中使用mysql数据库
- Flask使用flask-migrate实现数据库迁移
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
文件继续安装,可以对照这如下提供的地址找到适合的mysqlclient
的wsl
文件地址如下: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文件进行安装,具体操作可点击链接查看操作。