我是Flask的新手,并且在重定向页面时感到困惑。
所以这是问题所在,我必须重定向到我的登录页面的第三方
例:
@app.route('/hk/login/3rdparty', methods=['GET'])
def login_3rdparty():
if request.method == 'GET':
app_id = 'xxxxx'
secret = 'xxxxx'
data = 3rdparty.connect(app_id, secret)
return data
当我直接上网时,它会像这样返回:
{"url":"http://demo3.3rdparty.com/partner/code/hk?token=sometoke-sometoken-sometoken"}
我如何从返回json重定向?因此,在我定向到/ hk / login / 3rdparty之后,它将重定向到带有网址背面的令牌的网络
对不起,我的英语不好
最佳答案
如果问题中的data
变量包含所需的json对象,则可以使用redirect()
函数将用户发送到其包含的地址。您的回答结合了我们的评论,但我想添加此评论以确保其他人也可以看到必要的import
语句。
import json
from flask import redirect
@app.route('/hk/login/3rdparty')
def login_3rdparty():
app_id = 'xxxxx'
secret = 'xxxxx'
raw_data = 3rdparty.connect(app_id, secret)
data = json.loads(raw_data)
return redirect (data['url'])
我认为,即使这是此函数使用的唯一方法,您甚至不需要指定
GET
作为方法。继续保持良好的工作,SNOW。