プログラミング学習

【WTForms】IntegerFieldを使ってみる

投稿日:

今回は「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】データベースを使ってみよう

前回「データベース」を操作するための言語が「SQL」だということを学びました。今回は「python」のライブラリにある「SQLite」を使って「データベース」を実際に触ってみたいと思います。 Pyth …

【Python】画像のサイズを変えてみよう

前回は「OpenCV」を使って、画像を読み込ませてみました。今回は、読み込んだ画像のサイズを変えてみたいと思います。 画像のサイズを変えてみよう 前回のコードに追記する形で、進めていきます。 前回の「 …

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

Pythonでは、グラフを作成することも出来ます。今回は、実際にグラフの作り方を見ていきたいと思います。 Pythonでグラフを描いてみよう Pythonでグラフを作成するには「matplotlib」 …

【Python】ANACONDAのインストール

今回は実際に「ANACONDA」をインストールしていきます。既にPythonをインストールしている方はアンインストールしといたほうがいいみたいですね。 ANACONDAのインストール ではまずソフトを …

Anaconda(アナコンダ)について

Pythonを学習していくにあたって様々な用語を目にします。今回はその1つである、Anacondaについて触れていきます。 Anacondaとは AnacondaはPythonが入っているのは勿論のこ …