我是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。

10-04 09:57