在WTForms内部,是否可以在HTML5中使用一些新的仅限属性的属性?
例如,假设您想创建一个具有placeholder="foo“、required和autofocus属性的TextField。在WTForms中如何做到这一点?
在超文本标记语言中,它看起来像这样:<input maxlength="256" name="q" value="" placeholder="foo" autofocus required>
请注意,在WTForms中很容易完成placeholder="foo"。autofocus和required,因为它们没有值,所以是..据我所知,在WTForms中不支持。
WTForms能支持这一点吗?
发布于 2010-08-27 12:28:24
您可能需要创建自定义小部件。
查看docs on custom widgets。
发布于 2012-03-02 04:12:16
在昨天发布的WTForms 1.0中,HTML5紧凑语法现在是默认语法。现在您可以(在jinja中)执行以下操作:
{{ form.field(autofocus=true, required=true, placeholder="foo") }}请注意,在Jinja中,文字是true而不是True,但是如果您要在python控制台中尝试执行此操作,则需要使用python文字True才能正常工作。
在使用XHTML0.6.x作为默认输出的WTForms 0.6.x中,可以这样做。
{{ form.field(autofocus="autofocus", required="required", placeholder="foo" }}这是在XHTML中表示布尔属性的推荐方式,而且这种方式仍然是100%有效的HTML5并且完全等价,尽管生成的HTML有点冗长。
发布于 2012-04-19 14:32:43
我是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 %}WTForms似乎不能正确地处理100% HTML5的required=false,并且在HTML中设置了attr required="False",而不是删除attr。在下一版本的WTForms中,这一点会得到改进吗?
https://stackoverflow.com/questions/3340528
复制相似问题