2016-12-07 30 views
-1

Flaskにはダミープロジェクトがあります.FlaskはWebフォームで構成されています.3つの都市を記入し、提出時に印刷します。 これは私ののinitの.pyファイルです:フォーム入力からフラスコへの変数の受け渡しURL

@app.route('/average_temperatures/<city1>/<city2>/<city3>', methods=['POST', 'GET']) 
def results_temperature(city1, city2, city3): 
    return "The cities are: {}, {}, {}".format(city1, city2, city3) 

機能が動作しますが、私はパラメータとして、まっすぐな機能にフォームから変数を渡すことができません。

編集

私の目標は、/ CITY1/City2この式/ city3のきれいな形でのURLの一部として、市の変数を持つことです。

これは形式です:URLで結果

http://example.com/average_temperatures///

は、だから私は明らかにフォームアクションでフォームフィールドを渡すために失敗するフォームを記入

<div class="input-group"> 
<form action="{{ url_for('results_temperature', city1=city1, city2=city2, city3=city3) }}" method="POST"> 
    <input type="text" class="form-control" placeholder="City 1" name="city1"></input> 
    <input type="text" class="form-control" placeholder="City 2" name="city2"></input> 
    <input type="text" class="form-control" placeholder="City 3" name="city3"></input> 
<div class="row" style="margin-bottom: 20px;"></div> 

部。 ヒット曲が好評です。

+1

、HTMLフォームがどのように働くかではありません、彼らはURLを変更することはできません。フォームの値を取得するには 'request.form'を使います。 – davidism

答えて

0

request.form変数から都市を取得する必要があります。

あなたのHTMLフォームで
@app.route('/average_temperatures', methods=['POST', 'GET']) 
def results_temperature(): 
return "The cities are: {}, {}, {}".format(request.form['city1'], request.form['city2'], request.form['city3']) 

<form action="{{ url_for('results_temperature') }}" method="POST"> 
    <input type="text" class="form-control" placeholder="City 1" name="city1"></input> 
    <input type="text" class="form-control" placeholder="City 2" name="city2"></input> 
    <input type="text" class="form-control" placeholder="City 3" name="city3"></input> 
</form> 
+0

これは当初のものですが、変数をURLの一部として/ city1/city2/city3のクリーンな形式で使用するための回避策を探していますが、htaccess経由で動作させることはできませんフラスコ側 –

関連する問題