tips:
本文主要介绍Flask与SqlAlchemy的集成和简单使用
本文基于python3编写
前言
在实际的生产中,往往都需要数据库来做数据存储以及信息交互。
本文选用SQLAlchemy作为orm工具,可以减少sql代码编写以及防止sql注入的风险的存在。
本文使用免费的mysql数据库。
Flask与SQLAlchemy结合
1、安装flask-sqlalchemy pip install flask-sqlalchemy
2、安装pymysql pip install pymysql
3、实例化SQLAlchemy(core.py)
from flask_sqlalchemy import SQLAlchemy
db = SQLAlchemy()
4、注册到flask App中(app.py)并配置数据库连接
from flask import Flask
from core import db
app=Flask(__name__)
USERNAME = 'root' # 用户名
PASSWORD = 'mad123'# 密码
HOST = '127.0.0.1' # 数据库地址
PORT = '3306' # 端口
DATABASE = 'test' # 数据库名
database_url ='mysql+pymysql://{}:{}@{}:{}/{}?charset=utf8'.format(
USERNAME,PASSWORD,HOST,PORT,DATABASE)
#添加数据库配置文件到flask App中
app.config['SQLALCHEMY_DATABASE_URI'] = database_url
app.config['SQLALCHEMY_COMMIT_ON_TEARDOWN'] = False
# 注册数据库连接
db.app =app
db.init_app(app)
定义model及创建数据库表
定义model(model.py)
from core import db
# 新建用户
class User(db.Model):
"""
用户表
"""
__tablename__ = 'user'
id = db.Column(db.Integer, autoincrement=True, primary_key=True)
name = db.Column(db.String(20), nullable=False) # 用户姓名
age = db.Column(db.Integer, nullable=False) # 用户年龄
# 新建文章model
class Article(db.Model):
"""
文章表
"""
__tablename__ = 'article'
id = db.Column(db.Integer, autoincrement=True, primary_key=True)
title = db.Column(db.String(20), nullable=False) # 文章标题
body = db.Column(db.String(255), nullable=False) # 文章内容
last_change_time = db.Column(db.DateTime, nullable=False) # 最后一次修改日期
author_id = db.Column(db.Integer, db.ForeignKey('user.id'