嗨,我一直在尝试在模板中使用类似这样的东西填充文本区域。
{{form.content(value="please type content")}}
当字段是文本字段时,这是有效的,主要是因为html接受<input type="text">
的值,但对于文本区域则不起作用。有没有人能帮我一下?
发布于 2011-02-26 05:02:01
对于textarea
小部件,您可以在字段构造函数中使用default
参数设置默认内容。
class YourForm(Form):
your_text_area = TextAreaField("TextArea", default="please add content")
然后,在渲染时:
{{form.content()}}
WTForms将呈现默认文本。我还没有找到一种在渲染时为文本区域指定默认文本的方法。
发布于 2011-03-03 08:30:38
您可以在渲染之前执行此操作,如下所示:
form.content.data = 'please type content'
不过,我是WTForms的新手。
发布于 2013-02-02 13:33:58
我最近遇到了同样的问题,我是这样解决的:
{% set f = form.content.process_data("please type content") %}
{{ form.content() }}
对于测试,您可以尝试运行以下代码片段:
>>> import wtforms
>>> import jinja2
>>> from wtforms.fields import TextAreaField
>>> class MyForm(wtforms.Form):
... content = TextAreaField("Text Area")
...
>>> t = jinja2.Template("""{% set f = form.content.process_data("please type content") %}
... {{ form.content() }}""")
>>>
>>> t.render(form=MyForm())
u'\n <textarea id="content" name="content">please type content</textarea>'
https://stackoverflow.com/questions/5117479
复制相似问题