锋哥原创的Flask3 Python Web开发 Flask3视频教程:
2025版 Flask3 Python web开发 视频教程(无废话版) 玩命更新中~_哔哩哔哩_bilibili
我们来新建一个的蓝图模块-班级模块,后面可以和学生模块,实现一对多的数据库操作。
blueprint下新建grade.py
创建蓝图对象,以及定义班级模型,和班级类。
from flask import Blueprint, render_template
from exts import db
# 创建用户蓝图对象
grade_bp = Blueprint("grade", __name__, url_prefix='/grade')
class GradeModel(db.Model):
"""
班级模型
"""
__tablename__ = "t_grade"
id = db.Column(db.Integer, primary_key=True, autoincrement=True) # 主键id
name = db.Column(db.String(50), nullable=False) # 班级名称
remark = db.Column(db.Text) # 备注
class Grade:
def __init__(self, name, remark):
self.name = name
self.remark = remark
app.py里面注册蓝图
app.register_blueprint(grade_bp)
SQLAlchemy模型提供query对象的all()方法能够查询出所有数据,定义index视图方法,获取数据,转发到模版页面。
@grade_bp.route('/list')
def index():
gradeList = GradeModel.query.all()
return render_template('grade/list.html', gradeList=gradeList)
templates下新建grade目录,grade目录下新建list.html页面。
list.html,遍历显示所有班级信息
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>班级列表</title>
</head>
<body>
<h3>班级列表</h3>
编号 , 班级名称 , 备注<br/>
{% for grade in gradeList %}
{{ grade.id }} , {{ grade.name }} , {{ grade.remark }}<br/>
{% endfor %}
</body>
</html>
浏览器输入:http://127.0.0.1:5000/grade/list 测试