如何使用wtforms指定<textarea>标签的行和列
创建一个wtforms的文本区域字段大概是这样的:
content = wtf.TextAreaField('Content', id="content-area", validators=[validators.Required()])
我该如何指定这个文本区域的行数和列数呢?
9 个回答
5
有一个关于Flask的教程,来自nettuts+。基本上,它的工作原理是这样的:
from flask.ext import wtf
class ContactForm(wtf.Form):
content = wtf.TextAreaField("Content", [validators.Required()])
然后在你的html文件中:
<form action="" method="post">
{{ form.content }}
</form>
你可以选择不在html中指定布局,而是在css中指定,比如:
form textarea#content {
width: 100px;
height: 100px;
max-width: 100px;
}
15
更简单的方法是,在创建字段的时候使用 render_kw
这个参数:
port = IntegerField(u"HTTP port", validators=[DataRequired(), NumberRange(1025, 65535)], render_kw={'class': 'form-control'})
mytextarea = TextAreaField(u"Content", render_kw={'class': 'form-control', 'rows': 5})
然后渲染这个文件:
{{ field() }}
28
你不应该在声明这个小部件的地方去做这件事。你应该在模板里去做。例如:
{{form.content(rows='50',cols='100')}}
需要确保行和列是以字符串的形式指定的。