2017-07-13 7 views
0

変数をクエリ文字列として処理するフラスコルートがあります(デフォルトはNoneです。これは初めてこのテンプレートがレンダリングされないため、または渡された):私は、送信ボタンをクリックし、いくつかの理由Flaskを使用してクエリ文字列を変数に渡す際の問題

<!DOCTYPE html> 
<html> 
<body style="background-color:powderblue;"> 

<h1>{{ data }}</h1> 

<form action="{{ url_for('results', token=token) }}"> 
    <input type="submit" value="More results plz" /> 
</form> 

</body> 
</html> 

私は400エラーに10.51.50.1 - - [13/Jul/2017 18:00:45] "GET /results/J0HWWe1OgAAAF0HWWey_wAAAFoAKAA%253D%253D? HTTP/1.1" 400

0を得る:

@app.route('/results/', methods=['GET', 'POST'], defaults={'token': None}) 
@app.route('/results/<token>', methods=['GET', 'POST']) 
def results(token): 
    tags = request.form['text'].replace(' ', '').split(',') 
    data = fetch_data(tags=tags, next_page_token=token) 
    processed_data, token = process_data(data=data, tags=tags) 

    return render_template('results.html', data=processed_data[:1], token=token) 

これはテンプレートですページ

Bad Request 

The browser (or proxy) sent a request that this server could not understand. 

上の

と、この負荷が、私は問題の一部が? iが通過していたトークンの後にあることだと思いますが、私はなぜわかりません。また、私が印刷しようとすると、request.args私は何も得られません。

トークンをルートに正しく戻す方法について考えていますか?

答えて

0

あなたはあなたのビュー機能では、この行があります。

request.form['text'] 

を私はtextという名前のテンプレートに<input>を見つけることができません。

関連する問題