11

WTFormsフィールドオブジェクトを呼び出すと、レンダリングされたフィールドが生成されます。たとえば、引数はすべて属性として使用されます。

form.field(attribute='value')

次のようなものを返します

<input attribute='value'>

ハイフンを含むdata-provideなどのHTML5カスタムデータ属性を追加して、Pythonで単一のキーワード引数として解析できないようにするにはどうすればよいですか?

4

2 に答える 2

23

対応するキーと値のペアを使用して辞書を作成し、**を使用してフィールド呼び出しに渡します。

attrs = {'data-provide': "foo"}
form.field(**attrs)

編集:@NiklasBによるコメントが答えの一部であるように見えます:flask-WTFでflaskを使用している場合は、テンプレートで:を使用してください。{{ form.field( **{'data-provide': 'foo'} ) }}

于 2012-09-05T16:20:33.167 に答える
0

form.field関数呼び出しでそのような辞書を使用する必要はありません。**は、辞書アイテムを関数の名前付きパラメーターに解凍するため、代わりにパラメーターを追加するだけです。

{{form.field(data-provide ='foo')}}

ただし、そのフィールドに必要なパラメータの後に実行してください。言い換えれば、パラメータを追加するだけでよいのに、なぜ辞書をすぐに解凍するのでしょうか。

于 2017-12-06T09:39:28.777 に答える