当前位置: 首页 > news >正文

一周学会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>

我们可以做添加测试:

http://www.dtcms.com/a/69896.html

相关文章:

  • 告别XML模板的繁琐!Word文档导出,easy!
  • 穷举vs暴搜vs深搜vs回溯vs剪枝刷题 + 总结
  • 第5课 树莓派的Python IDE—Thonny
  • Gin(后端)和 Vue3(前端)中实现 Server-Sent Events(SSE)推送
  • DeepSeek + Excel:数据处理专家 具体步骤
  • 蓝桥杯备赛-二分-技能升级
  • C语言输入与输出:从零掌握数据的“对话”
  • STC89C52单片机学习——第20节: [8-2]串口向电脑发送数据电脑通过串口控制LED
  • MyBatis源码分析の配置文件解析
  • 创建postgis数据库
  • 【matlab例程】三维下的TDOA定位和EKF轨迹滤波例程,TDOA的锚点数量可自定义(订阅专栏后可获得完整代码)
  • 每日一题---腐烂的苹果(广度优先搜索)
  • Java常见的几种内存溢出及解决方法
  • MATLAB中events函数用法
  • 函数的引用/函数的默认参数/函数的占位参数/函数重载
  • 面试vue2开发时怎么加载编译速度(webpack)
  • 用C++新建快捷方式
  • 第5章 构造、析构、拷贝语义学3:对象复制语意学
  • 高频面试题(含笔试高频算法整理)基本总结回顾24
  • 【ElasticSearch】学习笔记
  • 零基础上手Python数据分析 (3):Python核心语法快速入门 (下) - 程序流程控制、函数与模块
  • 用ST7789屏幕导致负片(反色)的问题
  • 基于DeepSeek R1的检验检查超声影像综合预约排班和路径最优化研究
  • yolo环境 pytorch环境配置 CUDA安装
  • Google最新生图模型Gemini-2.0-Flash-Exp免费用
  • 大华SDK协议在智联视频超融合平台中的接入方法
  • lws-minimal-ws-server前端分析
  • YOLO11 使用入门
  • Qt常用控件之Layout总篇
  • Python(学习一)