Flask render_template上下文未显示在URL中

时间:2018-11-27 01:31:09

标签: python flask

我试图将参数传递给flask中的URL,但是我无法让它们显示任何内容。

@logout.route('/logout')
def logout_page():
    current_provider = current_oauth_user.get_provider()
    return render_template('index.html', provider=current_provider)

我希望看到/logout?provider=facebook,但我刚得到/logout

现在我正在这样做:

@logout.route('/logout')
def logout_page():
    provider = request.args.get('provider')
    current_provider = current_oauth_user.get_provider()
    if not provider and current_provider:
        return redirect(url_for('logout.logout_page',
                                provider=current_provider))
    return render_template('index.html')

但这看起来太可怕了。

1 个答案:

答案 0 :(得分:0)

您应该使用'/ logout'路径返回一些值。 因此,首先,您在render_template(index.html)下使用def main()。然后创建def logout_page()并返回一些值(在您的情况下为current_provider)。

@app.route('/')
def main():
    return render_template('index.html')

@app.route('/logout')
def logout_page():
    current_provider = current_oauth_user.get_provider()
    return current_provider

if __name__=="__main__":
    app.run(port=8000)