python - 在同一页面上使用多个相同的flaskform类别,并分别提交到数据库
问题描述
我有一个包含以下类别的烧瓶:
`class TestForm(FlaskForm):
question: ('Question')
likelihood = SelectField('Likelihood',choices=[('1','1'),('2','2'),('3','3'),('4','4'),('5','5')])
impact = SelectField('Impact', choices=[('1','1'),('2','2'),('3','3'),('4','4'),('5','5')])
`
我有一个包含多个问题的 html 页面,每个问题都需要对可能性和影响作出回应。每个问题与烧瓶形式一起放在一个表格中。例如:
表格1:
- 问题栏:我要买冰淇淋。
- 似然列:似然瓶形
- 冲击柱:冲击瓶形式
表 2:
- 问题专栏:我想买防晒霜。
- 似然列:似然瓶形
- 冲击柱:冲击瓶形式
但是,当我提交表单时,它只会将第一个结果输入我的数据库。这是应该提交表单的页面路径:
`@projects.route("/project/<int:project_id>/concept", methods=['GET', 'POST'])
@login_required
def concept(project_id):
form = TestForm()
project = Project.query.get_or_404(project_id)
if form.validate_on_submit():
test = Testresponse(form.likelihood.data, impact=form.impact.data)
db.session.add(test)
db.session.commit()
flash('Your data has been processed', 'success')
return redirect(url_for('projects.concept', project_id=project_id))
return render_template('create_concept.html', title='concept',
form=form, legend='project', project=project,project_id=project_id)`
数据库表称为 Testresponse。我不知何故需要编写代码,指定提交按钮应将所有问题的数据发送到数据库,而不仅仅是第一个问题。可能是这样的:对于每个表,取 form.likelihood.data 和 form.impact.data。
我有点卡住了,因为我不知道如何为 html 表创建这样的循环。有人可以帮助我,或者提供一个替代的想法吗?
解决方案
推荐阅读
- python - 如何定义类型提示以告诉函数期望python中的类型
- android - 列表不能在 ValueEventListener 内改变
- oauth - 本机应用程序的隐式授权
- c - execvp() 和不完整的多参数命令的问题
- excel - 当我将 dd 值设置为 12 或更少时,DateDiff 会产生不正确的结果。日期格式为 mm/dd/yy
- nftables - 测试数据包不匹配集
- jquery - Ajax 返回文本,而不是 html
- sql - 如果我的查找数据具有重复值,如何查找?
- xml - 使用 XML::TWIG 导航 XML 以访问 CDATA
- ios - clang 错误:函数定义声明为“typedef”