当前,我正在尝试将“提交”按钮链接到“ page1”页面,但是我收到了错误的请求错误,最初我认为问题与方法的POST部分有关,但是我不清楚如何可以解决此问题,总而言之,我正在尝试使用下面的“提交”按钮从PAGE进入PAGE1,但我正在
“错误的请求 浏览器(或代理)发送了该服务器无法理解的请求。”
View.py
@expose('/page', methods=['GET', 'POST'])
@appbuilder.app.route('/page', methods=['GET', 'POST'])
def page(self):
if request.method == 'POST':
bucket = request.form['bucket']
session['bucket'] = bucket
return redirect(url_for('view.files'))
else:
return render_template(
'x.html',
base_template=appbuilder.base_template,
appbuilder=appbuilder
)
@expose('/page1', methods=['GET', 'POST'])
@appbuilder.app.route('/page1', methods=['GET', 'POST'])
def page1(self):
if request.method == 'POST':
bucket = request.form['bucket']
session['bucket'] = bucket
return redirect(url_for('view.files'))
else:
buckets = get_buckets_list()
return render_template(
'x1.html',
base_template=appbuilder.base_template,
appbuilder=appbuilder,
buckets=buckets
)
HTML页面
<td>
<form class="select-bucket" action="{{ url_for('view.page1')}}" method="POST">
<button type="submit" name="submit" value="submit">Submit</button>
</form>
</td>
答案 0 :(得分:0)
在def page(self)
中,您拥有:
return redirect(url_for('view.files'))
应该是
return redirect(url_for('page1'))
因此它指向您的page1
函数。
解决方案来自: https://teamtreehouse.com/community/flask-redirect-vs-redirecturlfor