2017-01-05 3 views
3

、あなたがそうようなパスのパラメータを定義することができる:(あなたは、関数パラメータの周りを通過しない限り)pythonフラスコでは、ルート関数の外にパスパラメータをどうやって取得しますか?フラスコに

@app.route('/data/<section>') 
def data(section): 
    print section 

を上記の例では、

のみデータエンドポイントから部変数にアクセスすることができますまた、要求オブジェクトにアクセスしてクエリパラメータを取得することもできます。これは、エンドポイント機能だけでなく、他の呼び出された関数からの作品、

request.args['param_name'] 

の周りに何かを渡すために必要とせずに、私の質問は次のとおりです。同じように(上記のセクションのような)パスのパラメータにアクセスすることは可能ですクエリパラメータ?

+0

あなたは(例えば「/データ/

」)要求(例えば「/データ/ 1」)の実際のパスまたはマッチした文字列リテラルを意味しますか? – Jmills

+0

'request'と' session'はグローバルのように動作し、 'section'をグローバルにしたいと思っています。あなたができることは 'flask.g'にそれを格納することです。これは要求の長さに応じて任意のPythonオブジェクトを格納できるアプリケーショングローバルです。私は 'セクション'が実際にどこかの '要求'に既にあると思います。 – sytech

答えて

3

request.view_argsを使用することができます。 documentationは、次のように定義しています。

リクエストに一致するビュー引数を指定します。ここで

は例です:

@app.route("/data/<section>") 
def data(section): 
    assert section == request.view_args['section'] 
+0

@ulienc:これはまさに私が探していたものです。ありがとう – yigal

関連する問題