フォーム作成用のモジュール使用例
from flask_wtf import FlaskForm from wtforms import StringField, PasswordField, SubmitField from wtforms.validators import DataRequired
|
ここでは文字列StringField
,パスワード入力欄PasswordField
,送信ボタンSubmitField
のフィールドを作る.
その他で利用できるフィールドには様々なものがある.
- チェックボックス:
BooleanField
- ラジオボタン:
RadioField
- ドロップダウンメニュー:
SelectField
- テキストエリア:
TextAreaField
- 日付:
DateField
フォームのクラス作成例
class SampleForm(FlaskForm): username = StringField('ユーザ名', validators=[DataRequired(), Length(max=100)]) password = PasswordField('バスワード', validators=[DataRequired(), Length(min=6, max=10)]) password_chk = PasswordField('パスワードをもう一度入力してください', validators=[DataRequired(), Length(min=6, max=10), EqualTo('password')]) submit = SubmitField('送信')
|
@app.route('/sample', methods=['GET', 'POST']) def mysample(): form = SampleForm() if form.validate_on_submit(): return render_template('テンプレートファイル', form=form)
|
HTMLファイル
hidden_tag
ユーザー名入力欄のサンプル
{{ form.username.label }}<br> {{ form.username(size=32) }}<br> <ul> {% for error in form.username.errors %} <li>{{ error }}</li> {% endfor %} </ul>
|
送信ボタン