Flaskのリクエストの情報の取り出されるかについてのメモ
Flaskのrequestについての妄想メモです。
flask.requestについて
以下のようなコードを例とします
from flask import Flask, request app = Flask(__name__) @app.route('/', methods=['GET', 'POST']) def index(): user_email = request.form['user_email'] # 以下省略
このとき、request
には、クライアントから送られたリクエストの情報が入っています。
ただ、コードを単純に見るとrequest
はimportされてそのまま利用されているだけで、特にリクエストの情報を入れているようには見えません。
そのため、request
はNone
であるように見えます。
しかし、当然ですが、実際にはリクエストの情報を取り出して利用できます。
これは、裏でFlaskが働いて、リクエストの情報をrequest
に入れているのかと思われます。
(参考文献なしなので妄想。)
Flask-WTformsについて
以下のようなコードを例とします。
@auth.route('/signup', methods=['GET', 'POST']) def signup(): form = SignUpForm() if form.validate_on_submit(): user = User( username=form.username.data, email=form.email.data, password=form.password.data, ) # 以下省略
上記コードでは、フォームに入力した情報がリクエストを経由してform
に格納される。
コード上では、form = SignUpForm()
とあるのみで、リクエストの情報を格納しているようには見えない。しかし、実際には、Flask-WTformsが自動で格納しているらしい。
公式ドキュメントに以下の記載があった。
If formdata is not specified, this will use flask.request.form and flask.request.files.