【问题标题】:How to redirect Flask user to a 'successful completed' page after cloud function has been called?调用云功能后如何将 Flask 用户重定向到“成功完成”页面?
【发布时间】:2020-04-18 09:13:39
【问题描述】:

我正在开发要在 Google App Engine 上托管的烧瓶网络应用程序。

在应用程序中,用户将点击一个按钮来请求应用程序运行报告。

Flask 随后将向 Cloud Functions 发送一个带有参数的 HTTP API 请求。

Cloud Functions 将处理该请求,然后运行一个 Python 函数,该函数将执行所有必要的工作来生成报告(查询数据库、构建 Excel、填充它等等),然后将报告通过电子邮件发送给用户。

之后我想将用户重定向到网络应用程序中的“任务成功完成”页面。

如何做到这一点?我猜云功能可以将请求发回烧瓶,然后重定向到成功完成的页面。但是到那时,Flask 怎么知道要重定向哪个用户呢?

【问题讨论】:

    标签: flask google-cloud-functions


    【解决方案1】:

    如果您使用烧瓶登录,那么如果用户已登录,那么您可以知道烧瓶应用程序应该显示哪个用户的凭据。

    或者您可以为用户生成一个令牌,Web 应用程序将发送到“云功能”,当任务完成时,它将使用令牌将 API 请求发送回烧瓶。那么您可以使用它来确定哪个用户

    【讨论】:

    • 谢谢,那么烧瓶登录会自动生成令牌吗?烧瓶登录在哪里存储令牌?
    • 不,您必须为此创建方法
    • 如果你使用烧瓶登录,如果用户登录则不需要令牌
    • 谢谢。不过,我仍然对 Flask Login 幕后发生的事情感到困惑。可能有多个用户同时登录到应用程序,Flask Login 如何知道将请求归因于哪个用户会话,从而实现重定向到“任务完成”页面?
    • Flask 使用 session 来跟踪哪个用户已经登录。所以每个用户的浏览器都有一个 session 变量。 Flask login 检索它,这样我们就可以查看用户是否已登录。如果您仍然感到困惑,我们会扩展讨论。还可以查看 flaks Login 的文档
    猜你喜欢
    • 2021-01-21
    • 2012-06-02
    • 1970-01-01
    • 1970-01-01
    • 2015-04-08
    • 2020-07-15
    • 2017-07-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多