ホームページ > バックエンド開発 > Python チュートリアル > 入力要素に「名前」属性がない場合に、Flask ビューでフォーム値にアクセスする方法

入力要素に「名前」属性がない場合に、Flask ビューでフォーム値にアクセスする方法

Patricia Arquette
リリース: 2024-10-30 08:15:27
オリジナル
419 人が閲覧しました

How to Access Form Values in a Flask View When Input Elements Lack

Flask ビューへのフォーム値の投稿

Flask アプリケーションでは、クライアントが送信した HTML フォームからフォーム値にアクセスするのが難しい場合があります。フォームの入力要素に "name" 属性がありません。

問題:

入力に "name" 属性を指定せずに HTML フォームが送信されると、Flask は空の request.form 辞書を返します。これは、サーバーが送信された値を特定のフォーム フィールドに関連付けることができないために発生します。

解決策:

Flask がフォーム値に正しくアクセスできるようにするには、次の各入力要素がHTML フォームには一意の「name」属性があります。この属性は、送信された値を Flask ビューの対応するフォーム フィールドに関連付けるために使用されるキーを決定します。

たとえば、次の HTML フォームを考えてみましょう。

<code class="html"><form method="POST">
  <input id="my_input" type="text" value="{{ email }}">
  <input id="my_submit" type="submit" value="Submit">
</form></code>
ログイン後にコピー

対応する Flask ビュー内の場合、フォームの入力に「name」属性がないため、request.form ディクショナリは空になります。この問題を修正するには、入力要素に「name」属性を追加します。

<code class="html"><form method="POST">
  <input name="my_input" id="my_input" type="text" value="{{ email }}">
  <input id="my_submit" type="submit" value="Submit">
</form></code>
ログイン後にコピー

「name」属性を指定すると、Flask は送信された値を適切なフォーム フィールドに関連付けることができます。その後、ビューの request.form ディクショナリを使用してフォーム値にアクセスできます:

<code class="python">@app.route('/page', methods=['POST', 'GET'])
def get_page():
    if request.method == 'POST':
        print(request.form)  # prints {'my_input': 'value'}
        print(request.form['my_input'])  # prints 'value'
    return render_template('page.html')</code>
ログイン後にコピー

以上が入力要素に「名前」属性がない場合に、Flask ビューでフォーム値にアクセスする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート