1. ホーム
  2. python

[解決済み] WTForms フィールドを初期化するときにプレースホルダー属性を追加できますか?

2023-07-30 04:14:22

質問

WTFormsのフィールドにplaceholder属性を付けたいのですが、どうすればよいでしょうか。どうすればよいでしょうか?

abc = TextField('abc', validators=[Required(), Length(min=3, max=30)], placeholder="test")

上記のコードは有効ではありません

値を持つプレースホルダー属性を追加するにはどうすればよいですか?

どのように解決するのですか?

WTForms 2.1用に更新しました。

WTForms 2.1(2015年12月)より、レンダリングキーワードを設定するために render_kw= パラメータでフィールドコンストラクタに設定できるようになりました。

というわけで、フィールドは以下のようになります。

abc = StringField('abc', [InputRequired()], render_kw={"placeholder": "test"})

これは可能ですが、コードとプレゼンテーションの間の橋渡しをすることになるので、賢く使ってください。


(古い回答ですが、WTForms 2.1より古いバージョンにはまだ当てはまります)

placeholder は WTforms 2.0.x 以下では Python のコンストラクタでサポートされていません。

しかし、テンプレートで簡単にこれを行うことができます。

{{ form.abc(placeholder="test") }}