Flask 在Jinja模板中呈现WTForms CheckboxInput

Flask 在Jinja模板中呈现WTForms CheckboxInput,flask,jinja2,wtforms,flask-wtforms,Flask,Jinja2,Wtforms,Flask Wtforms,我似乎不知道如何在我的模板中呈现WTFormsCheckboxInput。当我尝试在Jinja模板中使用Flask渲染字段时,出现以下错误: TypeError:调用()正好接受2个参数(给定1个) 该错误与在我的模板中如何使用{{form.prefs(value='n')}有关。的WTForms文档说明“value=HTML属性默认为'y',除非value=at rendering另行指定。”无论是否指定值,我都会收到一个错误 我似乎找不到如何呈现简单CheckBoxInput的示例。感谢您的

我似乎不知道如何在我的模板中呈现WTForms
CheckboxInput
。当我尝试在Jinja模板中使用Flask渲染字段时,出现以下错误:

TypeError:调用()正好接受2个参数(给定1个)

该错误与在我的模板中如何使用
{{form.prefs(value='n')}
有关。的WTForms文档说明“value=HTML属性默认为'y',除非value=at rendering另行指定。”无论是否指定值,我都会收到一个错误

我似乎找不到如何呈现简单CheckBoxInput的示例。感谢您的帮助

这是我的表格:

class PreferencesForm(Form):
    prefs = widgets.CheckboxInput()
这是我的模板:

{% extends "base.html" %}

{% block content %}

<form method="POST" action="/user/prefs/">
    <div>{{ form.prefs(value='n') }}</div>
    <button type="submit" class="btn">Submit</button>    
</form>

{% endblock %}
{{ form.prefs(value='n') }}
{%extends“base.html”%}
{%block content%}
{{form.prefs(value='n')}
提交
{%endblock%}

您实际上应该使用,而不是直接使用小部件:

class PreferencesForm(Form):
    prefs = BooleanField()
然后在模板中:

{% extends "base.html" %}

{% block content %}

<form method="POST" action="/user/prefs/">
    <div>{{ form.prefs(value='n') }}</div>
    <button type="submit" class="btn">Submit</button>    
</form>

{% endblock %}
{{ form.prefs(value='n') }}

一般的想法是在表单类中使用一个小部件,它将自动分配适当的小部件进行显示。以及:

。。。类,其用途是将字段呈现为其可用表示形式,通常是XHTML。调用字段时,默认行为是将呈现委托给其小部件。提供此抽象是为了方便创建小部件以自定义现有字段的呈现

重点矿山

此外,小部件本身需要一个:

使用选中的att

{% if r.renovacion == 's' %}
        <td>{{  forma.renovacion(id = "" + r.id|string  + "", value = 's', checked = True) }}</td>
        {% else %}
        <td>{{  forma.renovacion(id = "" + r.id|string  + "", value = 'n', checked = False) }}</td>
        {% endif %}
{%if r.renovacion=='s%}
{{forma.renovacion(id=”“+r.id | string+”,value='s',checked=True)}
{%else%}
{{forma.renovacion(id=”“+r.id | string+”,value='n',checked=False)}
{%endif%}

啊!对不起,我不清楚我不应该直接使用小部件。非常感谢你!