python - 如何从 WTForms 表单自动生成完整的 HTML

标签 python sqlalchemy jinja2 wtforms

我正在尝试使用 Jinja2 模板为 SQLAlchemy 应用程序创建一个简单的基于 WTForms 的管理界面。

我读过 docs of WTForms-Alchemy我知道它可以通过几行代码从我的模型中自动生成一个表单,比如:

class UserForm(ModelForm):
    class Meta:
        model = User

我的问题是,即使我有这个自动生成的表单,我在任何地方都找不到关于如何将它变成功能性 HTML 页面的资源。有一些关于字段呈现错误的片段,以及一些提到用于呈现整个字段的宏的 SO 答案,但我完全没有找到关于如何自动生成完整的功能表单的资源。

//我知道这是 Flask-Admin 可能已经做的事情,我没有使用 Flask,所以不幸的是这是不可能的。

最佳答案

WTForms 让您自行决定在将表单传递到模板后如何呈现表单。呈现表单的最简单方法是遍历表单并呈现字段。当一个字段(或其标签)被调用时,它会发出 HTML。

<form action="/some_url" method="POST">
   {% for field in form %}
       {{ field.label() }}
       {{ field() }}
   {% endfor %}

   <button type="submit" />
</form>

provided here提供一种自动生成围绕这些字段的 HTML 的方法。

关于python - 如何从 WTForms 表单自动生成完整的 HTML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34011928/

相关文章:

python - 如何从 Python 中的 json 文件中获取字典?

python - 如何使用平滑技术消除姿势估计中的抖动?

python-2.7 - sqlalchemy BC 与 postgresql 约会

python - 如何使用 SQLAlchemy ORM 构建查询

python - 用关系数据库Flask-SQLAlchemy查询单表

python - 你如何使用 jinja2 显示 markdown 值?

python - Jinja2动态变量构建

python - 将 Pandas 数据帧写入 S3 存储桶 (AWS)

带有rsh选项的python popen rsync

python-2.7 - pprint jinja2 调试变量助手