是否可以在没有标签的情况下渲染 wtf.form_field?

pel*_*los 6 html forms flask twitter-bootstrap

我正在使用带引导程序的烧瓶,我需要创建一个没有标签的字段,因为我将把它作为占位符,这样可以节省 UI 中的空间,因为这个字段出现了多次。

{{ wtf.form_field(field) }}
Run Code Online (Sandbox Code Playgroud)

我不想要标签字段,只是用户将输入他的信息的实际字段。

Doo*_*beh 2

您正在使用引导主题宏来渲染wtform对象,您没有理由不能基于现有宏创建自己的自定义宏,除了不渲染之外,它的作用完全相同.label

例如,您正在使用的宏的代码位于github 上。我可以复制所有该宏并将其放入新的custom_wtf.html模板文件中,然后将宏重命名为“wtf_nolabel”,并根据我的需要进行调整。

让我们以第 83-93 行为例,这似乎渲染了上面尚未处理的所有内联表单元素:

{%- if form_type == "inline" %}
    {{field.label(class="sr-only")|safe}}
    {% if field.type == 'FileField' %}
      {{field(**kwargs)|safe}}
{% else %}
Run Code Online (Sandbox Code Playgroud)

我可以删除该{{ field.label(class="sr-only")|safe }}行,现在它适用于内联元素,向下移动到注释的代码下方,我将删除第 97-99 行以调整当前的水平渲染选项:

{{field.label(class="control-label " + (
  " col-%s-%s" % horizontal_columns[0:2]
))|safe}}
Run Code Online (Sandbox Code Playgroud)

如果您的表单元素只是一种特定类型的输入,您可以构建自己的简化宏,仅针对该表单元素。