gpt4 book ai didi

python - Flask WTF (Python) 字段列表的大小变化列表不起作用(未绑定(bind)错误)

转载 作者:行者123 更新时间:2023-12-01 04:07:58 24 4
gpt4 key购买 nike

我正在尝试制作一个不确定性计算器,其中我需要可变数量的字段(这是最终的想法)。然而,在测试 1 个字段的数量时,我遇到了一个问题。页面中没有呈现字段,只有一些随机代码:

Result of the code below

我尝试检查问题是否与它们具有相同的名称“值”或其他内容有关,但似乎这不是问题。我不知道该尝试什么了。

表单.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()])]]

views.py:

from flask import render_template, flash, redirect
from app import app
from .forms import Receiver
@app.route('/login', methods=['GET', 'POST'])
def login():
form = Receiver()
return render_template('request.html',
title='Calculate',
form=form)

请求.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 %}

最佳答案

字段是类,需要调用它们才能运行其 call 方法,该方法会将 html 呈现到您的页面。

示例1:

{{ form.expression() }}

您的字段正在呈现,但最好正确调用该字段。

编辑:

您的字段列表将不起作用,因为您需要将实例化的类附加到表单类属性。当您像这样加载字段时,它是一个 UnboundField。

unboundfield

我建议在您的 View 中动态添加字段。您可以看到该问题的答案 here .

关于python - Flask WTF (Python) 字段列表的大小变化列表不起作用(未绑定(bind)错误),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35325582/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com