WTForms-flask:フォームフィールド名とデータを辞書に整理する

machump

私はしばらくの間これに固執しています:

私はそのようなフォームを持っています:

class attributes(Form):
    height=IntegerField('height')
    weight=IntegerField('weight')

class main(Form):
    John=FormField(attributes)
    Ted=FormField(attributes)
    David(FormField(attributes)`

John_height=John.height.dataすべてのFormFieldを使用せずに、識別フィールドラベルとフィールドデータをフラスコに保存する辞書を繰り返し作成したいと思います。最終的には、SQLステートメントを使用してデータベースに書き込むためのディクショナリを渡します。ディクショナリキーはデータベースの列と一致し、フォームフィールドのデータはデータベースの値になります。

辞書は次のようになります。

{John_height : 170,
John_weight: 170,
Ted_height : 120,
Ted_weight: 190,
David_height : 150,
David_weight: 100}

前もって感謝します。

攻撃68
from wtforms import Form
from wtforms.fields import IntegerField, FormField

class Attributes(Form):
    height = IntegerField('height')
    weight = IntegerField('weight')

フォームを繰り返し作成するには、次のいずれかを実行できます。

def main(people=['John', 'Ted', 'David']):
    class Main(Form):
        pass
    for person in people:
        setattr(Main, person, FormField(Attributes))
    return Main()

または

class Main(Form):
    for person in ['John', 'Ted', 'David']:
        vars()[person] = FormField(Attributes)
    del person

個人的には、適切なクラス構造ですが動的ではないため、2番目の方が好きです。

辞書を作成するには、次のようにします。

obj = Main()

data = dict()
for field in obj:  # <- this works since obj has an __iter__ method self defined
    for key in field.data.keys():
        data.update({field.name + '_' + key: field.data[key]})

print(data)
>>> {'John_height': None, 'John_weight': None, 'Ted_height': None, 'Ted_weight': None, 'David_height': None, 'David_weight': None}

None値は、フォームの構築を空に起因するものです。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

FlaskとFlask-WTFormsを使用してフォームをループしている間、csrfラベルを非表示にする方法はありますか?

分類Dev

Goと同等のWTForms?

分類Dev

Flask WTForms:少なくとも1つのフィールドの検証InputRequired

分類Dev

wtforms + flask今日の日付をデフォルト値として

分類Dev

wtformsを使用して入力フィールドを動的に追加する

分類Dev

データベースモデルからWTFormsにフィールドラベルを設定させる

分類Dev

Flask / WTFormsで繰り返しサブフォームの数を変えてフォームを作成する

分類Dev

フォームを使用せずにフラスコwtformsバリデーターを使用する

分類Dev

__init__wtformsにフィールドを追加できますか

分類Dev

編集フォームにWTFormsとFlaskを事前入力します

分類Dev

Wtformsフォームフィールドテキストの拡大

分類Dev

Wtformsフォームフィールドテキストの拡大

分類Dev

Flask、wtformsは空のフォームをポストバックします

分類Dev

WTFormsフォームからデータを取得する

分類Dev

Flask WTForms FieldList with BooleanField

分類Dev

Flask-WTFormsと非表示フィールド

分類Dev

WTForms-Javascript:onclickをWTFフィールドに渡す

分類Dev

FlaskとWTFormsを使用したフォームのリンクに関する問題

分類Dev

FlaskとWTFormsを使用してフォームデータを保持しながらリダイレクトする方法は?

分類Dev

Flask-jQueryを使用して次のフォームフィールドに移動するWTForms

分類Dev

Flask WTFormsを送信するときに、データベーステーブルからこれらの値を空白にせずに、フィールドを空白のままにするにはどうすればよいですか?

分類Dev

Flask-WTFormsの2つの日付フィールドを比較するためのフィールド検証

分類Dev

Flask / WTForms-フォームをインラインにするにはどうすればよいですか?

分類Dev

UnboundFieldを返すWTFormsにフィールドを動的に追加する

分類Dev

UnboundFieldを返すWTFormsにフィールドを動的に追加する

分類Dev

WTFormsのデフォルトのフォームサイズ

分類Dev

WTForms-テキストフィールドを配列にPOSTする

分類Dev

wtforms-alchemy-フォームに関係データを事前入力するのはどうですか?

分類Dev

Flask WTForms:フィールド値が送信されない

Related 関連記事

  1. 1

    FlaskとFlask-WTFormsを使用してフォームをループしている間、csrfラベルを非表示にする方法はありますか?

  2. 2

    Goと同等のWTForms?

  3. 3

    Flask WTForms:少なくとも1つのフィールドの検証InputRequired

  4. 4

    wtforms + flask今日の日付をデフォルト値として

  5. 5

    wtformsを使用して入力フィールドを動的に追加する

  6. 6

    データベースモデルからWTFormsにフィールドラベルを設定させる

  7. 7

    Flask / WTFormsで繰り返しサブフォームの数を変えてフォームを作成する

  8. 8

    フォームを使用せずにフラスコwtformsバリデーターを使用する

  9. 9

    __init__wtformsにフィールドを追加できますか

  10. 10

    編集フォームにWTFormsとFlaskを事前入力します

  11. 11

    Wtformsフォームフィールドテキストの拡大

  12. 12

    Wtformsフォームフィールドテキストの拡大

  13. 13

    Flask、wtformsは空のフォームをポストバックします

  14. 14

    WTFormsフォームからデータを取得する

  15. 15

    Flask WTForms FieldList with BooleanField

  16. 16

    Flask-WTFormsと非表示フィールド

  17. 17

    WTForms-Javascript:onclickをWTFフィールドに渡す

  18. 18

    FlaskとWTFormsを使用したフォームのリンクに関する問題

  19. 19

    FlaskとWTFormsを使用してフォームデータを保持しながらリダイレクトする方法は?

  20. 20

    Flask-jQueryを使用して次のフォームフィールドに移動するWTForms

  21. 21

    Flask WTFormsを送信するときに、データベーステーブルからこれらの値を空白にせずに、フィールドを空白のままにするにはどうすればよいですか?

  22. 22

    Flask-WTFormsの2つの日付フィールドを比較するためのフィールド検証

  23. 23

    Flask / WTForms-フォームをインラインにするにはどうすればよいですか?

  24. 24

    UnboundFieldを返すWTFormsにフィールドを動的に追加する

  25. 25

    UnboundFieldを返すWTFormsにフィールドを動的に追加する

  26. 26

    WTFormsのデフォルトのフォームサイズ

  27. 27

    WTForms-テキストフィールドを配列にPOSTする

  28. 28

    wtforms-alchemy-フォームに関係データを事前入力するのはどうですか?

  29. 29

    Flask WTForms:フィールド値が送信されない

ホットタグ

アーカイブ