#課題
Python、Flaskの学習を初めて数ヶ月の者です。下記の書籍をベースにWebアプリ開発の勉強をしております。
現在flask_loginを利用したログイン機能の実装をしているのですが、下記のようなコードが出てきた際にrequest.args.get('next')の部分が具体的に何を取得しているのかいまいち分かっておりません。
request.argsはwerkzeug.datastructures.ImmutableMultiDictのインスタンスであるという記述や、.getメソッドで辞書型のオブジェクトへアクセスし、キーがnextのデータを取得しているのだろう、とは思うのですが、
そもそもrequest.args自体が具体的にどのようなデータが格納されており、キーがnextのデータはどのタイミングで作成?されたのかなどが分かっておりません。
拙いながら下記公式ドキュメントを読んだもののピンとこず、、、
https://flask.palletsprojects.com/en/1.1.x/api/#flask.Request.args
お知恵拝借できますと幸いです。
#ソースコード
@auth.route('/login', methods=['GET', 'POST']) def login(): form = LoginForm() if form.validate_on_submit(): user = User.query.filter_by(email = form.email.data).first() if user is not None and user.verify_password(form.password.data): login_user(user, form.remember_me.data) next = request.args.get('next') if next is None or not next.startswith('/'): next = url_for('main.index') return redirect(next) flash('Invalid username or password.') return render_template('auth/login.html', form = form)
※UserはUserMixinクラスを継承したクラスです。
なお、auth/login.htmlは下記になります。
<!DOCTYPE html> <html> <head> </head> <body> <div> <form method= "POST" > {{ form.hidden_tag() }} {{ form.email.label }} {{ form.email(class="text-field-class") }} {{ form.password.label }} {{ form.password(class="text-field-class") }} {{ form.submit() }} </form> </div> </body> </html>

回答2件
あなたの回答
tips
プレビュー