基本 Jinja

Flaskでpostを受け取る:パラメーターはrequest.form.getで取得する

最終更新日 2023.02.18

Flask で post を受けとるには route の第二引数に methods=['post'] を指定します。

@app.route('/register', methods=['post'])
def register():
    p = request.form.get('password')
    return jsonify(id=3)

リクエストのパラメーターは 2 つの方法で取得します。

p = request.form.get('password')
p = request.form['password']

get を使うとパラメーターが存在しなかったときに None を返します。post に password がないと p は None になります。

get を使わず、form に直接パラメーターを指定すると、そのパラメーターがなかったときに

raise exceptions.BadRequestKeyError(key)

というエラーが起きます。