簡體   English   中英

在 flask forms (WTForm) 中的嵌套 FieldList/FormField 中加載數據

[英]Load data in nested FieldList/FormField in flask forms (WTForm)

我在使用嵌套數據啟動/填充表單時遇到問題。

表格如下:

field_1 --> FieldList(FormField)
    field_1_1 --> StringField
    field_1_2 --> StringField
    field_1_3 --> FieldList(StringField)

我想使用my_form = my_form_class(**data)來實例化表單。

以下是data的樣子:

data = {
    "field_1 ": [
        "field_1_1": "abc",
        "field_1_2": "abc",
        "field_1_3": ["abc", "abc", "abc"]
    ]
}

但是在實例化之后, my_form.data是空的並且my_form.validate()沒有通過。

我還有其他類似的FieldList嵌套少一層(在FormField中沒有 FieldList )並且工作正常,這可能是問題嗎?

這個人有同樣的問題(沒有解決方案)。 通過搜索,我看到人們在談論多個 CSRF 令牌? 這是如何運作的?

有任何想法嗎?

解決方案是使用:

my_form = my_form_class()
my_form.process(data=form_data_json)

代替:

my_form = my_form_class(**data)

檢查有關.process()方法的文檔的這一部分

由於 BaseForm 在實例化時不獲取其數據,因此您必須調用它來為封閉的字段提供表單數據。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM