WTF或WTForms

我正在尝试将Flask作为我正在使用的用户界面的后端。

不幸的是,UI已经为表单设置了CSS和JavaScript(以适应用户界面,但也适用于旧版IE和其他情况)。

我遇到的第一个问题是已经有一个字段的标签。 如果我在模板中使用.labels属性:

{{ form.username.label }}

那么它会创建一个额外的标签,我似乎无法为CSS / JavaScript添加任何属性。 但是,如果我关闭.label属性,则会在用户名输入上方创建一个额外的空白文本字段。

我的forms.py文件中的代码是:

class LoginForm(FlaskForm):
    username = StringField('Username', validators=[DataRequired()])

我错过了什么吗?

第二部分是为表单本身添加属性。 我发现如何使用class _ ='classname'添加HTML class属性,但Flask-WTF和WTForms文档似乎没有涉及任何其他属性(例如autcomplete =“off”placholder =“username”

有没有什么方法可以用Flask-WTF或WTForms来完成呢? 我仅限于手动属性和/或Jinja宏的这种类型的功能? 我无法想象这是WTForms和Flask-WTF会丢失的东西,但我也没有在文档或Google / StackOverflow中的任何地方看到它。

谢谢!


在这个WTForms发生之后:如何将“autofocus”属性添加到StringField中我尝试对我的问题使用相同的方法。 它的工作。 仍然不确定为什么这不包括在WTForms或Flask-WTForms文档中。

因此,对于标签,要让它们包含您需要的类或其他属性,请在模板中添加它与上面的class_ =解释相同。

所以在这种情况下:

{{ form.username.label(class_="ie9") }}

渲染时将相应的类添加到标签。

对于字符串输入,属性再次添加到模板中:

{{ form.username(class_="formplace", placeholder="Username", autocomplete="off", autofocus="true", size=32) }}

使用正确的HTML呈现类,占位符,自动完成,自动对焦和字段中的大小。

我相信这可以变成动态和可重用的,但只是想显示解决方案,因为我不能成为唯一有此问题的人。 具体来说,这是0xTim的解决方案,使我可以使用某些东西。

链接地址: http://www.djcxy.com/p/61767.html

上一篇: WTF or WTForms

下一篇: WTForms: dynamically create name and id attributes