,可以通过为每个表单实例化不同的对象来实现。
首先,需要导入flask-wtforms模块和相关的表单类。假设我们有一个名为MyForm
的表单类,可以通过以下代码导入:
from flask_wtf import FlaskForm
from wtforms import StringField, SubmitField
class MyForm(FlaskForm):
name = StringField('Name')
submit = SubmitField('Submit')
接下来,在Flask应用的视图函数中,可以实例化两个不同的MyForm
对象,并将它们传递给模板进行渲染。例如:
from flask import Flask, render_template
from forms import MyForm
app = Flask(__name__)
@app.route('/form', methods=['GET', 'POST'])
def form():
form1 = MyForm()
form2 = MyForm()
return render_template('form.html', form1=form1, form2=form2)
在模板文件form.html
中,可以使用form1
和form2
来渲染两个表单。例如:
<form method="POST" action="">
{{ form1.csrf_token }}
{{ form1.name.label }} {{ form1.name }}
{{ form1.submit }}
</form>
<form method="POST" action="">
{{ form2.csrf_token }}
{{ form2.name.label }} {{ form2.name }}
{{ form2.submit }}
</form>
这样就可以在同一个页面上显示两个相同类的表单,并且它们可以独立地进行数据提交和处理。
关于flask-wtforms的更多信息,可以参考腾讯云的相关产品文档:Flask-WTF。
领取专属 10元无门槛券
手把手带您无忧上云