我正在尝试做一个不确定性计算器,我需要一个可变数量的字段(这是最后的想法)。然而,在测试1个字段的数量时,我遇到了一个问题。没有在页面中呈现字段,而是在其位置上只有一些随机代码:
我试着检查这个问题是否与他们有着相同的名字“值”或其他什么有关,但似乎不是问题所在。我不知道该怎么做了。在
在表单.py在
from flask.ext.wtf import Form
from wtforms import StringField, BooleanField, DecimalField
from wtforms.validators import DataRequired
class Receiver(Form):
expression = StringField('expression', validators=[DataRequired()])
# ve_list = [[StringField('expreson'), DecimalField('expression', places=10)], [StringField('expreson'), DecimalField('expression', places=10)]]
# remember_me = BooleanField('remember_me', default=False)
ve_list = [[DecimalField('value', validators=[DataRequired()]), DecimalField('value', validators=[DataRequired()])]]
在视图.py公司名称:
^{pr2}$在请求.html公司名称:
{% block content %}
<h1>Error propagation calculator</h1>
<form action="" method="post" name="login">
{{ form.hidden_tag() }}
<p>
Please enter the expression:<br>
{{ form.expression }}<br>
</p>
Enter the value and respective error:<br>
{% for ve in form.ve_list %}
{{ ve[0] }} +/- {{ ve[1] }}<br>
{% endfor %}
<p><input type="submit" value="Calculate"></p>
</form>
{% endblock %}
字段是类,需要调用它们才能运行它们的调用方法,该方法将html呈现到页面中。在
例1:
{{ form.expression() }}
您的场正在渲染,但最好正确调用该场。在
编辑时间:
您的字段列表将无法工作,因为您需要将实例化的类附加到表单类属性。当您像这样加载字段时,它是一个未绑定的字段。在
我建议在视图中动态添加字段。你可以看到这个问题的答案here。在
作为表单一部分的字段必须是表单类的类变量。如果没有,那么WTForms就找不到它们,因此它们永远不会绑定到表单。在
如果要添加字段列表,可以通过设置窗体类上的属性来实现。像这样:
然后在模板中,可以迭代表单字段来呈现它们,而不是逐个呈现它们。在
相关问题 更多 >
编程相关推荐