cas*_*pii 2 python flask wtforms flask-wtforms
我正在尝试使用 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> 在此处选择颜色
为什么输入没有被渲染?
我解决了。我的代码有两个问题:
我在这里缺少():
<p> {{ form.background_color() }} Pick a color here </p>
Run Code Online (Sandbox Code Playgroud)
表格应如下所示:
class ColoursForm(Form):
"""Used when editing scoreboard colours"""
background_color = StringField(widget=ColorInput())
Run Code Online (Sandbox Code Playgroud)
最后,我不得不说 WTForms 文档在这方面并不是很好。一些例子肯定会有帮助。
| 归档时间: |
|
| 查看次数: |
2180 次 |
| 最近记录: |