一周学会Flask3 Python Web开发-SQLAlchemy添加数据操作-班级模块

锋哥原创的Flask3 Python Web开发 Flask3视频教程:

2025版 Flask3 Python web开发 视频教程(无废话版) 玩命更新中~_哔哩哔哩_bilibili

SQLAlchemy提供session.add()方法添加model实体数据,以及提供session.commit()提交事务。

首先list.html加一个添加链接

复制代码
<a href="/grade/add">添加</a><br/>

再定义下GradeForm表单类:

复制代码
class GradeForm(FlaskForm):
    name = StringField("年级名称", render_kw={'placeholder': '请输入年级名称'}, validators=[DataRequired()])
    remark = TextAreaField("备注", render_kw={'placeholder': '请输入备注'})
    submit = SubmitField("登录")

grade.py里加一个add()视图函数

复制代码
@grade_bp.route('/add', methods=['GET', 'POST'])
def add():
    gradeForm = GradeForm()
    if request.method == 'GET':
        return render_template('grade/add.html', form=gradeForm)
    else:
        if gradeForm.validate():
            data = gradeForm.data
            print('data:', data)
            print(data['name'])
            gradeModel = GradeModel(name=data['name'], remark=data['remark'])
            db.session.add(gradeModel)
            db.session.commit()
            return index()

grade目录添加下add.html

复制代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<form action="add" method="post">
    <table>
        {{ form.csrf_token }}
        <tr>
            <td>{{ form.name.label }}:</td>
            <td>{{ form.name }}</td>
        </tr>
        <tr>
            <td valign="top">{{ form.remark.label }}:</td>
            <td>{{ form.remark }}</td>
        </tr>
        <tr>
            <td>
                {{ form.submit }}
            </td>
        </tr>
    </table>
</form>
</body>
</html>

我们可以做添加测试:

相关推荐
黑剑客与剑2 分钟前
pycdc-studio v0.1.8,支持Pyarmor 解密
python·pycdc·pyarmor·pycdc-studio
dr_yingli2 分钟前
fMRI(4-1)统计分析报告生成器说明
开发语言·matlab
岁岁的O泡奶3 分钟前
NSSCTF_reverse_[SWPUCTF 2022 新生赛]base64——[HDCTF 2023]easy_re
经验分享·python·逆向
薛定e的猫咪6 分钟前
2026 年 4 月实测:OpenAI Codex 保姆级教程,从安装到 MCP、Skills 与多智能体协作
前端·数据库·人工智能
wgzrmlrm747 分钟前
Django怎么优雅发送邮件_Python配置SMTP后端实现异步通知
jvm·数据库·python
I love studying!!!9 分钟前
Web应用程序:用户账户
前端·数据库·sqlite
whuhewei9 分钟前
React性能优化
前端·react.js·性能优化
m0_7381207210 分钟前
渗透知识ctfshow——Web应用安全与防护(三)
android·前端·安全
kcuwu.13 分钟前
Python 数据分析实战:NumPy、Pandas、Matplotlib 融合
python·数据分析·numpy
m0_7167652314 分钟前
数据结构--顺序表的插入、删除、查找详解
c语言·开发语言·数据结构·c++·学习·算法·visual studio