2017-05-04 11 views
-3

フラスコバージョン:0.12 gunicornバージョン:19.7.1 Pythonのバージョン:私は(HTTP POSTデータがどこに行くことがあります)グローバルリクエストオブジェクトで何かをするとき2.7.10FlaskでHTTP POSTパラメータを取得するエンドツーエンドの実例?

フラスコを常にエラーをスローします。

RuntimeError:要求コンテキスト外で作業しています。

http://flask.pocoo.org/docs/0.12/quickstart/#a-minimal-application

from flask import request 

@app.route('/login', methods=['GET', 'POST']) 
def login(): 
    if request.method == 'POST': 
     do_the_login() 
    else: 
     show_the_login_form() 

の公式の例では、同じエラーを与えます。

私は少なくとも10の他の例を調べましたが、それらのどれも(常に同じエラーが)働いていませんでした。私はまた、設定の方法やリクエストのコンテキスト(http://flask.pocoo.org/docs/0.12/reqcontext/)を取得し、そこには不整合な混乱があることを確認しました。

他のオンラインの例私はどちらかが役に立たなかったか、役に立たないと思ったことがわかりました。

誰かがPOSTパラメータを出力するHTTP POST Flaskアプリケーションの例を投稿できますか?

+1

私はあなたの問題を再現することはできません。ルート内で実行されているものはすべて、要求コンテキスト内にあります。 [編集]に[mcve]を含めるようにしてください。 – davidism

+0

次に、回答を例として投稿し、テストします。私はすでに公式の例を掲載しています(これは私にとってはうまくいかない)。 – user1258361

+0

@ app.route( '/ login'、methods = ['GET'、 'POST'])の前に '' app = Flask(__ name __) '' 'を追加してみてください)' '' –

答えて

0

問題は、HTTP POSTを処理する際にgunicornが失敗することです。 FLASK_APP環境変数をエクスポートして実行した後で動作します。コマンドラインで

:フラスコスクリプトで

export FLASK_APP=path/to/my/flask/script.py 
flask run -p [port number] 

@app.route("/example_app", methods=["POST"]) 
example_function(request.form["field"]) 
return "finished" 
関連する問題