ホームページ >バックエンド開発 >Python チュートリアル >Flask アプリケーションのページ間で変数を効率的に渡すにはどうすればよいですか?

Flask アプリケーションのページ間で変数を効率的に渡すにはどうすればよいですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-12-12 15:38:10455ブラウズ

How Can I Efficiently Pass Variables Between Pages in a Flask Application?

Flask ページ間での変数の受け渡し

Flask アプリケーションでは、多くの場合、異なるページ間でデータを共有する必要があります。これには、ユーザーのセッション情報、フォームの送信、または複数のページでアクセスできる必要があるその他のデータの受け渡しが含まれる場合があります。

変数を渡す 1 つの方法は、セッション を使用することです。セッションは、特定のユーザーのデータを保存するサーバー側の辞書です。これはリクエスト間で持続するため、クライアントに表示する必要のない変数を渡すための適切なオプションになります。

セッションを使用するには、セッション ディクショナリを使用して目的の値を設定するだけです。例:

@app.route('/a')
def a():
    session['my_var'] = 'my_value'
    return redirect(url_for('b'))

ターゲット ページでは、次のコマンドを使用してセッションから変数を取得できます。

@app.route('/b')
def b():
    my_var = session.get('my_var', None)
    return my_var

ただし、セッション データのサイズには制限があります。 、通常は約 4000 バイトです。大量のデータを渡す必要がある場合は、データベースまたはその他のデータ ストレージ ソリューションを使用することをお勧めします。

変数を渡すもう 1 つの方法は、クエリ パラメーター を使用することです。クエリ パラメータは URL に追加され、クライアントから見えるようになります。このメソッドは、サーバーに保存する必要のない少量のデータを渡す場合に便利です。

クエリ パラメータを使用するには、url_for 関数を使用して URL に変数を追加するだけです。

<a href="{{ url_for('b', my_var='my_value') }}">Send my_value</a>

これにより、次の URL が生成されます。

/b?my_var=my_value

ターゲット ページで、request.args を使用してクエリ パラメータを取得できます。 object:

@app.route('/b')
def b():
    my_var = request.args.get('my_var', None)

Flask ページ間で変数を渡すためのどちらの方法にも利点と欠点があります。セッションはより安全であり、リクエスト間で持続しますが、クエリ パラメーターはより軽量であり、クライアントにデータを表示できます。ニーズに最適な方法を選択してください。

以上がFlask アプリケーションのページ間で変数を効率的に渡すにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。