使用单一方法渲染 WTForms 表单?

Render WTForms form with a single method?

即使在使用 WTForms 一段时间后,我仍然不知道也无法在任何地方找到任何提示是否有一种方法可以只渲染一个表单,比如(在 jinja 模板中):

{{ form.render() }}

这将产生

<form ...>
...
</form>

其他一些表单库也是如此。这是一个很大的不重复自己的违规行为,我需要在模板中提及所有表单字段才能呈现。如果表单是动态的呢?

问题是,真的是这样还​​是我遗漏了一些非常明显的东西?

我是不是遗漏了一些非常明显的东西是也不是。是的,因为 WTForms supports iteration 所以你可以在模板中遍历所有表单字段并输出它们。不,因为,首先,此功能(遗憾的是)没有得到很好的记录,其次,WTForms 是围绕简单性和框架不可知而设计的,并且具有单一 render() 方法会限制这一点。