2016-09-03 7 views
2

フォームが送信されるときに、フォームの外に追加のパラメータリストを渡す方法はありますか?URLパラメータを追加してフラスコのアクションを作成する

私は、フォームに新しいパラメータを入力するフィールドを作成できますが、別の方法がありますか?私は、フォームアクションに直接パラメータを追加しようとしましたが、うまくいきません。私がいることがわかり、私はテキストボックスに「123」と入力すると、このコードを使用して

と入力してヒット:コメントからのフィードバックに基づいて質問を明確に

from flask import Flask, request 
import os 

app = Flask(__name__) 

@app.route('/') 
def index(): 
    print request.args 
    return "<form action='/?foo=bar'><input name='variable' type='text' /></form>" 

if __name__ == '__main__': 
    port = int(os.environ.get('PORT', 8080)) 
    app.run('0.0.0.0', debug=True, port=port) 

を:全体のコードはここで見つけることができますURLはhttp://wardrobe-plus-jeffhou.c9users.io/?variable=123です。

私がしたいのはhttp://wardrobe-plus-jeffhou.c9users.io/?foo=bar&variable=12‌​3です。

答えて

1

入力内容と出力内容を表示する必要があります。あなたは@app.route()methodsを追加し、フォームからのデータを投稿したいので、もし、あなたのコードで

は、index()機能のデフォルトは、GET方法を受け入れます。

@app.route('/', methods=['GET', 'POST']) 

また、フォームにはpostメソッドを追加する必要があります。

<form method='post', action='/'></form> 
+0

確かに!私の質問のコードを使用して、 "123"を入力してEnterキーを押すと、URLがhttp://wardrobe-plus-jeffhou.c9users.io/?variable = 123であることがわかります。変数 'variable'は値が123のGETパラメータです。私が望むのは' http://wardrobe-plus-jeffhou.c9users.io/?foo = bar&variable = 123'です。あなたのコメントが私の質問をより良く言い換えるのに役立ちましたが、これはGETとPOSTの関係ではありません。ありがとうございました。 – user823447

関連する問題