Python 如何呈现Flask WTF HTML5小部件?
我正在尝试使用Flask的HTML5小部件构建一个(搜索“范围”以找到它)。 我想我在HTML模板中遗漏了一些东西,因为它的呈现方式如下: 正如你所看到的,这不是我想要的:我期待着这样的事情: 所以我认为这个错误没有那么棘手,但我找不到它。以下是我的不同文件:Python 如何呈现Flask WTF HTML5小部件?,python,html,flask,flask-wtforms,Python,Html,Flask,Flask Wtforms,我正在尝试使用Flask的HTML5小部件构建一个(搜索“范围”以找到它)。 我想我在HTML模板中遗漏了一些东西,因为它的呈现方式如下: 正如你所看到的,这不是我想要的:我期待着这样的事情: 所以我认为这个错误没有那么棘手,但我找不到它。以下是我的不同文件: __author__ = 'laurentmeyer' # That's my main class, don't be afraid, all is local, you cannot hack anything from My
__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:
return render_template('DB template.html',form = form, offers = data)
if __name__ == "__main__":
app.run()
我的HTML模板:
<!DOCTYPE html>
<html>
<head>
<title>Tableau des maisons</title>
</head>
<body>
<form><p>Test: {{ form.ImportanceOfPrice }} </p></form>
<!--<table>{% for house in offers %}<tr><td>Titre: {{house[0]}}</td><td>Lien: <a href="{{house[1]}}">{{house[1]}}</a></td></tr>{% endfor %}</table>-->
</body>
</html>
以下代码应该很有用:
from flask import Flask, render_template
from wtforms import Form
from wtforms.fields.html5 import DecimalRangeField
app = Flask(__name__)
app.config['DEBUG'] = True
class TestForm(Form):
price_importance = DecimalRangeField('Price Importance')
@app.route("/")
def home():
form = TestForm(csrf_enabled=False)
return render_template('tpl.html', form=form)
if __name__ == "__main__":
app.run()
Template tpl.html,默认情况下,它必须放在“templates”文件夹中:
<!DOCTYPE html>
<html>
<body>
<form>
<p>{{ form.price_importance.label }}: {{ form.price_importance }}</p>
</form>
</body>
</html>
{{form.price\u importance.label}}:{{{form.price\u importance}}
您的代码包含一些错误:
- Python不需要分号来终止语句
- 您没有导入正确的表单类(您应该导入测试表单类)
- 在表单类中,通常应该声明字段(通过小部件呈现)
- 以下代码应该很有用:
from flask import Flask, render_template
from wtforms import Form
from wtforms.fields.html5 import DecimalRangeField
app = Flask(__name__)
app.config['DEBUG'] = True
class TestForm(Form):
price_importance = DecimalRangeField('Price Importance')
@app.route("/")
def home():
form = TestForm(csrf_enabled=False)
return render_template('tpl.html', form=form)
if __name__ == "__main__":
app.run()
Template tpl.html,默认情况下,它必须放在“templates”文件夹中:
<!DOCTYPE html>
<html>
<body>
<form>
<p>{{ form.price_importance.label }}: {{ form.price_importance }}</p>
</form>
</body>
</html>
{{form.price\u importance.label}}:{{{form.price\u importance}}
您的代码包含一些错误:
- Python不需要分号来终止语句
- 您没有导入正确的表单类(您应该导入测试表单类)
- 在表单类中,通常应该声明字段(通过小部件呈现)
来自表单导入测试
而不是来自表单导入表单
。我认为您希望主模块中的来自表单导入测试
而不是来自表单导入表单
。