gpt4 book ai didi

python - 类 'FloatField' 未定义 '__truediv__'

转载 作者:太空宇宙 更新时间:2023-11-03 21:24:26 25 4
gpt4 key购买 nike

当我尝试获取“高度”和“体重”变量​​的值以用于计算时,我在第 8 行收到错误:

“类 FloatField”未定义“truediv”,因此不能在其实例上使用“/”运算符。此检查检测到应该解析但没有解析的名称。由于动态调度和鸭子类型,这在有限但有用的情况下是可能的。顶级和类级项目比实例项目得到更好的支持。'

这些表单用于存储到数据库(持久性/搁置)并显示所有值。我已经能够存储和显示“高度、体重和 id”变量,但在尝试添加“bmi”变量时陷入困境。

from wtforms import Form, StringField, validators, SubmitField, 
FloatField


class AddRecordForm(Form):
id = StringField('User', [validators.DataRequired()])
height = FloatField('Height in meters (e.g 1.75)', [validators.Length(min=4, max=4), validators.DataRequired()])
weight = FloatField('Weight in kilograms', [validators.Length(min=1), validators.DataRequired()])
bmi = weight/height*height
submit = SubmitField("Update/Add your Health Information")

我想要做的是使用变量“高度”和“体重”的输入值来计算“bmi”

最佳答案

表单提供最高级别的 API。它们包含您的字段定义、委托(delegate)验证、接受输入、聚合错误,并且通常充当将所有内容粘合在一起的粘合剂。

要从表单获取输入并在应用程序中使用它,您需要在模板中呈现表单实例并在 View 函数部分中计算值。

from wtforms import Form, StringField, validators, SubmitField,  FloatField


class AddRecordForm(Form):
id = StringField('User', [validators.DataRequired()])
height = FloatField('Height in meters (e.g 1.75)', [validators.Length(min=4, max=4), validators.DataRequired()])
weight = FloatField('Weight in kilograms', [validators.Length(min=1), validators.DataRequired()])

submit = SubmitField("Update/Add your Health Information")

#Some thing like this must be your View function part

from flask import flash, redirect, url_for, session, render_template
app = Flask(__name__)
@app.route('/bmi', methods=['GET', 'POST'])
def bmi():
form = AddRecordForm()
if form.validate_on_submit():
height = form.height.data
weight = form.weight.data
bmi = weight/height*height
#Do database operations here
for field, errors in AddRecordForm().errors.items():
for error in errors:
flash(u"Error in the %s field - %s" % (getattr(form, field).label.text, 'error'))

return render_template('bmi.html', form=form)

现在,在 templates 目录中的 bmi.html 模板中,将表单呈现为:

 <form action="" method="post">
{{ form.hidden_tag() }}
<p>
{{ form.id.label }}<br>
{{ form.id }}
</p>
<p>
{{ form.height.label }}<br>
{{ form.height }}
</p>
<p>
{{ form.weight.label }}<br>
{{ form.weight}}
</p>

<p>{{ form.submit }}</p>
</form>

关于python - 类 'FloatField' 未定义 '__truediv__',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53955844/

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