將資料傳遞給 WTForms 和 Flask-WTF
WTForms 提供了一個 FileField
來呈現檔案型別輸入。它對上傳的資料沒有任何特殊之處。但是,由於 Flask 拆分表單資料(request.form
)和檔案資料(request.files
),因此你需要確保在建立表單時傳遞正確的資料。你可以使用 CombinedMultiDict
將兩者合併為 WTForms 理解的單一結構。
form = ProfileForm(CombinedMultiDict((request.files, request.form)))
如果你正在使用 Flask-WTF (整合 Flask 和 WTForms 的擴充套件),將自動為你處理傳遞正確的資料。
由於 WTForms 中存在錯誤,每個欄位只會有一個檔案,即使上傳了多個檔案也是如此。有關詳細資訊,請參閱此問題 。它將在 3.0 中修復。