我正在尝试在 python 中使用 Flask 创建一个简单的表单。我正在尝试使用 jinja2 模板来显示表单。但是模板对象没有创建相应的 html 元素,只是将表单字段对象打印为文本。
这是flask代码块
from flask import Flask
from flask import render_template
from flask_wtf import FlaskForm
from wtforms import IntegerField
app = Flask(__name__)
class TestForm():
value = IntegerField('Value')
@app.route('/', methods = ['GET', 'POST'])
def test():
form = TestForm()
return render_template('template.html', form = form)
这是我的html模板
<!DOCTYPE html>
<html>
<head>
<title>Title</title>
</head>
<body>
<p>Test Page !!</p>
<div>
<form method="post">
{{ form.csrf_token }}
{{ form.value.label }}
{{ form.value }}
<input type="submit">
</form>
</div>
</body>
</html>
这是网页的样子
我不知道为什么与表单对应的 html 元素没有显示。知道为什么会发生这种情况。我正在尝试在 anaconda python 环境中的 Windows 上运行它。我以前在 ubuntu 上没有遇到过问题。
答案 0 :(得分:0)
您的表单应该继承自 FlaskForm,如下所示:
from flask_wtf import FlaskForm
class TestForm(FlaskForm):
value = IntegerField('Value')