【发布时间】:2019-12-15 04:09:22
【问题描述】:
如果满足某些条件,我想从方法已设置为“POST”的路由重定向到另一个 url(默认方法为“GET”的路由)。当我从终端检查时,“GET”路由被调用,但重定向不会从浏览器发生。我正在使用“url_for”在烧瓶中执行此操作。有什么帮助吗?
我尝试在url_for 中使用_method 参数,即return redirect(url_for('second', _method='GET')
这里有一些代码:
@app.route('/first', methods=['POST'])
def first():
some_data = request.get_json(force=True)
if some_data is None:
return redirect(url_for('second', _method='GET'))
session['data_to_use'] = some_data
return jsonify(some_data)
@app.route('/second')
def second():
return render_template('second.html')
这是我在终端上得到的:
"POST /first HTTP/1.1" 302 -
"GET /second HTTP/1.1" 200 -
【问题讨论】:
-
你的问题我不清楚。你在终端上是什么意思?你在浏览器中看到了什么?是否调用了错误?
-
完全使用 @Wimanicesir 。请记住,终端正在记录所有重定向和其他内容,供您调试和检查。如果您看到“第二条”路线调用了 Get 方法,那么它确实是使用 Get 方法调用的。
-
@Wimanicesir 我的意思是当我从终端检查日志时。此外,在浏览器上调用没有错误,
标签: python redirect flask url-for