先展示一下页面:
步骤一: 添加数据库
首先是数据库的配置
from flask_sqlalchemy import SQLAlchemy
import pymysql
pymysql.install_as_MySQLdb()
class Config(object):
SQLALCHEMY_DATABASE_URI = 'mysql://root:mysql@192.168.152.156:3306/author_book'
# 格式: mysql://用户名:密码@地址:端口/数据库
SQLALCHEMY_TRACK_MODIFICATION = True
app.config.from_object(Config)
db = SQLAlchemy(app)
其次是创建作者和图书的模型类
class Author(db.Model):
# 自定义数据表名
__tablename__ = "tbl_authors"
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(32), unique=True)
book = db.relationship("Book", backref="author")
# 定义显示项
def __repr__(self):
return "Author Object: name=%s" % self.name
class Book(db.Model):
# 自定义数据表名
__tablename__ = "tbl_books"
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(128), unique=True)
author_id = db.Column(db.Integer, db.ForeignKey("tbl_authors.id"))
# 定义显示项
def __repr__(self):
return "Book Object: name=%s" % self.name
最后创建数据库并且添加数据表
flask不会帮我们创建数据库,所以数据库需要在mysql自行创建。以下代码仅执行一次,之后注释掉即可。
if __name__ == "__main__":
# 清空原始数据库
db.drop_all()
# 添加数据表
db.create_all()
# 添加数据库内容
au_luo = Author(name="罗贯中")
au_wu = Author(name="吴承恩")
au_shi = Author(name="施耐庵")
au_cao= Author(name="曹雪芹")
db.session.add_all([au_luo, au_wu, au_shi, au_cao])
db.session.commit()
# 添加书本信息
bk_san