锋哥原创的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>
我们可以做添加测试: