from flask import Flask, render_template, flash, request, redirect, url_for
from flask_sqlalchemy import SQLAlchemy
from flask_wtf import FlaskForm
from wtforms import SubmitField, StringField
from wtforms.validators import DataRequired
app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql+pymysql://root:123456@127.0.0.1/books'
# 自动跟踪修改
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False
app.secret_key = 'like'
# 创建的数据库对象
db = SQLAlchemy(app)
"""
1, 配置数据库
a, 导入SQLAlchemy b, 创建db对象, 并配置参数, c, 终端创建数据库
2,添加书和作者的数据
a,模型继承db.Model
b, __tablename__
c, db.Column
d,# 关系引用. Book是给自己(Author模型 )用的, author 是给Book模型用的
books = db.relationship('Book', backref='author')
3,添加数据
4,使用模板显示数据查询的数据
a, 查询所有的作者信息,让信息传递给模板
b, 模板中按照格式,依次for 循环作者的书记即可(作者获取书籍,用的是关系引用)
5, 使用WTF显示表单
a, 自定义表单类
b, 模板中显示
c, seret_key /编码 / srcf_token
6,使用象关的增删该查
a. 增加书籍
b, 删除书籍 --->网页中删除-->点击需要发送书籍的id 给删除书籍的路由-->路由需要接受参数
url_for 的使用 for else 的使用 redirect 的使用
c, 删除作者
"""
# 定义书和作者模型
class Author(db.Model):
__tablename__ = 'authors'
id = db.Column(db.Integer, primary_key=True, autoincrement=True)
name = db.Column(db.String(32), unique=True)
# 关系引用. Book是给自己(Author模型 )用的, author 是给Book模型用的
books = db.relationship('Book', backref='author')
def __repr__(self):
return 'Author: %s' % self.name
from flask_sqlalchemy import SQLAlchemy
from flask_wtf import FlaskForm
from wtforms import SubmitField, StringField
from wtforms.validators import DataRequired
app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql+pymysql://root:123456@127.0.0.1/books'
# 自动跟踪修改
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False
app.secret_key = 'like'
# 创建的数据库对象
db = SQLAlchemy(app)
"""
1, 配置数据库
a, 导入SQLAlchemy b, 创建db对象, 并配置参数, c, 终端创建数据库
2,添加书和作者的数据
a,模型继承db.Model
b, __tablename__
c, db.Column
d,# 关系引用. Book是给自己(Author模型 )用的, author 是给Book模型用的
books = db.relationship('Book', backref='author')
3,添加数据
4,使用模板显示数据查询的数据
a, 查询所有的作者信息,让信息传递给模板
b, 模板中按照格式,依次for 循环作者的书记即可(作者获取书籍,用的是关系引用)
5, 使用WTF显示表单
a, 自定义表单类
b, 模板中显示
c, seret_key /编码 / srcf_token
6,使用象关的增删该查
a. 增加书籍
b, 删除书籍 --->网页中删除-->点击需要发送书籍的id 给删除书籍的路由-->路由需要接受参数
url_for 的使用 for else 的使用 redirect 的使用
c, 删除作者
"""
# 定义书和作者模型
class Author(db.Model):
__tablename__ = 'authors'
id = db.Column(db.Integer, primary_key=True, autoincrement=True)
name = db.Column(db.String(32), unique=True)
# 关系引用. Book是给自己(Author模型 )用的, author 是给Book模型用的
books = db.relationship('Book', backref='author')
def __repr__(self):
return 'Author: %s' % self.name