2015-12-01 59 views
3

我正在嘗試使用Jinja2模板爲SQLAlchemy應用程序創建一個簡單的基於WTForms的管理界面。如何從WTForms表格自動生成完整的HTML

我讀過docs of WTForms-Alchemy,我明白,它可以只通過的幾行代碼的自動生成,從我的模型形式,如:

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

我的問題是,即使我有這個表單自動生成,我沒有發現任何資源,我怎樣才能使它成爲一個功能性的HTML頁面。有幾個關於字段渲染錯誤的片段,還有一些SO回答提到了渲染整個字段的宏,但我完全沒有發現如何自動生成完整的功能表單。

//我明白這是Flask-Admin可能已經做的事情,我沒有使用Flask,所以這不可能是不幸的。

回答

2

WTForms讓您瞭解如何在將模板傳遞到模板後呈現表單。渲染表單最簡單的方法就是遍歷表單並渲染字段。當一個字段(或其標籤)被調用時,它會發出HTML。

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

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

provided here提供了一種自動生成圍繞這些字段的HTML的方法。

+0

不錯,雖然它也打印出CSRF令牌標籤。 '{%if field.type!='CSRFTokenField'%} ... {%endif%}'到目前爲止工作。 –