from flask.ext.wtf.html5 import NumberInput
class Form(Form):
value = NumberInput( [Required()])
submit = SubmitField('Next')
Run Code Online (Sandbox Code Playgroud)
{{ form.value }}
Run Code Online (Sandbox Code Playgroud)
上面的代码将输出以下内容:
<wtforms.widgets.html5.NumberInput object at 0x3c94a50>
Run Code Online (Sandbox Code Playgroud)
好吧,我期望的是:
<input type="number">
Run Code Online (Sandbox Code Playgroud)
基本上,问题是如何input type="number"使用wtforms 渲染。
我正在尝试使用Flask的html 5小部件来构建RangeInput(搜索"范围"以找到它).我想我在HTML模板中遗漏了一些东西,因为它呈现的方式如下:

正如你所看到的,这不是我想要的:我期待的是这样的:

所以我认为错误不是那么棘手,但我找不到它.这是我的不同文件:
__author__ = 'laurentmeyer'
# That's my main class, don't be afraid, all is local, you cannot hack anything
from MySQL import MySQL
from flask import Flask, render_template
from Form import Form;
mysql = MySQL();
app = Flask(__name__)
app.config['MYSQL_DATABASE_USER'] = 'Laurent'
app.config['MYSQL_DATABASE_PASSWORD'] = 'laurent'
app.config['MYSQL_DATABASE_DB'] = 'Houses'
app.config['MYSQL_DATABASE_HOST'] = 'localhost'
mysql.init_app(app)
@app.route("/")
def home():
cursor = mysql.connect().cursor()
cursor.execute("SELECT * from Offers;")
data = cursor.fetchall()
form = Form(csrf_enabled=False);
if data is None:
return "No data"
else: …Run Code Online (Sandbox Code Playgroud)