锋哥原创的Flask3 Python Web开发 Flask3视频教程:
2025版 Flask3 Python web开发 视频教程(无废话版) 玩命更新中~_哔哩哔哩_bilibili
我们来新建一个的蓝图模块-班级模块,后面可以和学生模块,实现一对多的数据库操作。
blueprint下新建grade.py
创建蓝图对象,以及定义班级模型,和班级类。
from flask import Blueprint, render_templatefrom 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) # 主键idname = db.Column(db.String(50), nullable=False) # 班级名称remark = db.Column(db.Text) # 备注class Grade:def __init__(self, name, remark):self.name = nameself.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 测试