我很难看到这是如何完成的,文档似乎没有多大帮助。
我需要生成一个表,行大小将是可变的,但不是动态的(我知道在生成页面之前我需要多少行)。
为了简单起见,我们设想一个页面,您可以使用整数对n个考试进行评分。
我试过这个:
表格。
class InputInteger(Form):
grade = IntegerField('Grade')
风景
@decorator..
def grade():
form = InputInteger()
names = student_list
return render_template("grade.html", form=form, names=names)
模板
<table>
<tr>
<th>Name</th>
<th>Grade</th>
</tr>
{% for name in names %}
<tr>
<td>
{{name}}
</td>
<td>
{{form.grade}}
</td>
</tr>
</table>
但是我如何读回输入的值?我如何区分属于谁的等级?
相当困惑,我读过有关FieldList(FormField(IntegerField))的信息,但这不只是一个带有整数列表的字段吗? Table Widget怎么样,我需要它吗?
请帮忙。
你几乎是对的。将您的表放在一个html表单中,并捕获一个可以检索输入字段的函数。这里有一个例子:
<form action="/grade">
<table>
<tr>
<th>Name</th>
<th>Grade</th>
</tr>
{% for name in names %}
<tr>
<td>{{name}}</td>
<td><input id='{{name}}' value='{{form.grade}}' "></td>
</tr>
</table>
</form
而你的烧瓶功能
@app.route('/grade', methods=['GET', 'POST'])
def grade():
if request.method == 'POST':
return 'Form posted.'
当您将表单发布到您的函数时,您可以通过这种方式访问输入字段request.form['inputfieldname']
而不是您执行的操作。我希望我的解释清楚。祝好运!!!