我有一个烧瓶路线,在处理变量时将变量作为查询字符串发送(我的默认值为None
,因为第一次渲染此模板时不需要或传递令牌): / p>
@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)
这是模板:
<!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
并在页面上加载
Bad Request
The browser (or proxy) sent a request that this server could not understand.
我认为部分问题是?
是在我经过的令牌之后,但我不确定原因。此外,当我尝试打印request.args
时,我什么也得不到。
有关如何将令牌正确发送回路线的任何想法?
答案 0 :(得分:0)
您在视图功能中有这一行:
request.form['text']
但我在名为<input>
的模板中找不到text
。