プログラミング

【WTForms】IntegerFieldを使ってみる

投稿日:2021年1月5日 更新日:

今回は「wtforms」の「IntegerField」を使ってみたいと思います。

IntegerFieldを使ってみる

「Integer」とは「整数」という意味です。
なので「整数」のみ受け取るフォームを作れるはずです。
それでは見ていきましょう。

Flask-WTFについてはこちら。

IntegerFieldをインポートしよう

from flask import Flask, render_template
from flask_wtf import FlaskForm
from wtforms import IntegerField

これでいいですね。

クラスを定義しよう

from flask import Flask, render_template
from flask_wtf import FlaskForm
from wtforms import IntegerField

-----------------------------------------------------------
app = Flask(__name__)
app.config['SECRET_KEY'] = 'secret'

class LoginForm(FlaskForm):
   field = IntegerField('テスト')

次に関数を定義します。

関数を定義しよう

from flask import Flask, render_template
from flask_wtf import FlaskForm
from wtforms import IntegerField

app = Flask(__name__)
app.config['SECRET_KEY'] = 'secret'

class LoginForm(FlaskForm):
   field = IntegerField('テスト')

-------------------------------------------------------
@app.route('/test', methods=['GET', 'POST'])
def test():
   test = LoginForm()
   if test.validate_on_submit():
      return '<h1>結果は {}.'.format(test.field.data)
   return render_template('test.html', test=test)

if __name__ == "__main__":
   app.run(debug=True)

「test」関数を定義しました。
それでは「hmtl」の方も作っていきます。

htmlファイルを作成しよう

フォームを作成する「htmlファイル」を作っていきましょう。

<html>
   <head>
   <title>Test</title>
  </head>
  <body>
     <h1>テスト</h1>
     <form method="POST" action="{{ url_for('test') }}">
        {{ test.csrf_token }}
        {{ test.field.label }}
        {{ test.field }}
        <div>
           {% for error in test.field.errors %}
           <span style="color: red;">{{ error }}</span>
           {% endfor %}
        </div>
        <input type="submit" value="送信">
      </form>
  </body>
</html>

では「整数」のみ受け取るのか、確認してみましょう。

IntegerFieldの確認をしてみよう

「test.py」を実行して、ローカルサーバーにアクセスしましょう。

フォームが無事に出力されました。

「12.34」と入力してみましたが、はじかれましたね。

一応「あいうえお」という文字でも試してみました。
それでは「整数」を入力してみます。

「1234」は「整数」なので受け取ってくれたようです。

まとめ

「IntegerField」を試してみました。
これまで「StringField」と「PasswordField」にも触れました。
まだまだ種類がありそうなので、色々と確認していきましょう。
それではまた。

-プログラミング
-

執筆者:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

関連記事

【Python】VBAをPythonで再現してみる②

前回に引き続き「VBA」の動きを「Python」で再現していきます。今回は、セルの値を「繰り返し」取得して行きたいと思います。 セルの値を繰り返し取得しよう 前回はセルの値を取得し、メッセージボックス …

【Python】Flaskを使ってみよう

前回は「Flaskとは」から「Flaskのインポート」まで紹介しました。今回は「Flask」を使って、動作確認までしていきたいと思います。 Flaskを使ってみよう サーバーにアクセスした際に「Hel …

【Python】def文ってなんだ?

今回は、Pythonの「def文」について紹介していきます。 def文ってなんだ? 「def文」は「関数」を定義する際に使用する構文となります。 def文) def 関数(): 処理 ——– …

【Python】CSVからグラフを作成してみよう

前回は、「CSVファイル」を「pandas」で読み込んで、表示しました。今回は、読み込んだ「CSVファイル」でグラフを作成したいと思います。 CSVファイルからグラフを作成しよう 「pandas」で読 …

社内イントラネットに掲示板作成してみた。②

「社内イントラネットに掲示板作成してみた。①」に続きましてIISのインストール方法を紹介します。 社内イントラネットに掲示板作成してみた。① IISを使用するメリット 「ASP」を使用して動的なサイト …

YouTube