我试图让视图函数将十进制值(最终是从数据库中)粘贴到WTF表单字段中。除非我将字段更改为字符串字段,否则该值不会显示。我需要一些额外的东西来将数值粘贴到小数位吗?
我创建了一个希望复制的小示例,仅用于测试此功能。它有一个字段,在加载页面时,应在该字段中粘贴一个值。
最初,我尝试使用十进制字段尝试此操作,并尝试粘贴一个随机数,但是在呈现页面时不会显示该数字。当字段更改为IntegerField或FloatField
时,也会发生同样的情况将表单字段更改为字符串字段时,该值将在页面呈现时显示-但这不是理想的解决方案,因为该值将是字符串。
routes.py
from flask import render_template,flash
from app import app
from app.forms import TestForm
@app.route('/',methods=['GET','POST'])
@app.route('/index/','POST'])
def index():
# define form
test_form = TestForm()
test_form.testfield.data = 10
return render_template('sandbox_home.html',test_form = test_form
)
forms.py
from flask_wtf import flaskForm
from wtforms import StringField,DecimalField
class TestForm(flaskForm):
testfield=StringField()
sandbox_home.html
<!doctype html>
<title>My Safe Place</title>
<p>I exist to paste values to form fields!</p>
<form action="" method="post" novalidate>
{{ test_form.hidden_tag() }}
{{ test_form.testfield() }}
</form>
如果输入的类型正确,我希望该值显示出来而与字段类型无关。我猜这是一个数据类型问题,但是我不确定问题在哪里。