在电影评级应用中,我想在具有动态字段数量的烧瓶中生成WTF表单。即如果有三部电影,则会有三个字段。
我想了几个选项,但没有一个可行:
class RatingForm(Form):
rating = TextField("rating",[validators.Length(min=1, max=1)])
movie_order=TextField("movie",[validators.Length(min=1, max=1)])
submit = SubmitField("submit rating")
将参数传递给表单对象 - 我看不出如何将参数传递给这种类
在模板中创建一个循环,从而生成并返回多个表单,并选择正确的表单。这也不起作用,因为request.form是immutableDict,我最终有多个具有相同键的字段,我无法访问。
{% for movie in movies_to_rate %} <p> <form method="POST" enctype="multipart/form-data" action="/rate"> {{ movie}} {{ forms[movie].rating}} {{ forms[movie].submit }} <input type="submit" value="Go"> </p> {% endfor %}
关于我能做什么的任何想法?
答案 0 :(得分:0)
我认为你可以生成一个TextField列表作为类成员,而不是使用一个字段对象。 (虽然看起来有点奇怪,但我认为你的验证器就是你的意思。)
class RatingForm(Form):
def __init__(self, count):
self.ratings = [TextField("rating_" + str(i), [validators.Length(min=1, max=1)])
for i in range(count)]
...