小编cas*_*pii的帖子

WTForms:如何渲染 HTML5 小部件?

我正在尝试使用 WTForms 颜色输入字段。

这就是我定义表单的方式:

from wtforms.widgets.html5 import ColorInput

class ColoursForm(Form):
   background_color = ColorInput()
Run Code Online (Sandbox Code Playgroud)

这是视图:

@app.route("/colours/<token>/", methods=['GET', 'POST'])
def edit_colours(token):
   form = ColoursForm(request.form)
   if request.method == 'GET':
       return render_template('colours_edit.html', form=form, token=token)
   else:  # Request = post

      return redirect(url_for('view_scoreboard', token=token))
Run Code Online (Sandbox Code Playgroud)

在我的 Jinja2 模板 (colours_edit.html) 中,我这样做:

<p> {{ form.background_color }} Pick a color here </p>
Run Code Online (Sandbox Code Playgroud)

但是,它没有按预期渲染 HTML 颜色选择器,而是在渲染的 HTML 中看到了这一点:

<wtforms.widgets.html5.ColorInput 对象位于 0x10b836e90> 在此处选择颜色

为什么输入没有被渲染?

python flask wtforms flask-wtforms

2
推荐指数
1
解决办法
2180
查看次数

标签 统计

flask ×1

flask-wtforms ×1

python ×1

wtforms ×1