代码之家  ›  专栏  ›  技术社区  ›  Lee Olayvar

WTForms…html,自动对焦?

  •  9
  • Lee Olayvar  · 技术社区  · 16 年前

    例如,假设您想创建一个具有placeholder=“foo”、required和autofocus属性的TextField。如何在WTForms中实现这一点?

    在html中,它将如下所示: <input maxlength="256" name="q" value="" placeholder="foo" autofocus required>

    请注意 placeholder="foo" 很容易在表格中完成。 autofocus required ,因为它们没有价值,是。。嗯,据我所知,不支持的形式。

    你能支持吗?

    3 回复  |  直到 14 年前
        1
  •  0
  •   a paid nerd    16 年前

    您可能需要创建一个自定义小部件。

    查看 docs on custom widgets

        2
  •  29
  •   Crast    14 年前

    在昨天发布的wtforms1.0中,HTML5紧凑语法现在是默认语法。现在你可以做(在金贾):

    {{ form.field(autofocus=true, required=true, placeholder="foo") }}
    

    true 而不是 True 但是,如果要在python控制台中尝试此操作,则需要使用python文本 是的 为了让它起作用。

    {{ form.field(autofocus="autofocus", required="required", placeholder="foo" }}
    

    这是在XHTML中表示布尔属性的推荐方法,虽然生成的HTML有点冗长,但它仍然是100%有效的HTML5,并且完全等效。

        3
  •  3
  •   senderle    14 年前

    我是WTForms的新手,但在我看来,解决方案可以改进,而不是使用:

    {{ form.field(autofocus=true, required=true, placeholder="foo") }}
    

    {% if field.flags.required %}
       {{ field(autofocus=true, required=field.flags.required, placeholder="foo") }}
    {% else %}
       {{ field(autofocus=true, placeholder="foo") }}
    {% endif %}
    

    似乎处理不正确 required=false required="False" 而不是移除属性。在WTForms的下一个版本中是否可以改进这一点?