当前位置: 首页 > 面试题库 >

重定向回Flask

沈旻
2023-03-14
问题内容

我有一个名为Item的数据库表。项目具有一个status属性,可以是以下任一属性

new
todo
doing
done

在我的网站上,我有两个显示Item表的视图。

  • 视图1显示 所有 项目(带有状态列)。
  • 视图2 显示状态为的项目todo

根据项目状态,用户可以执行某些操作(“要做的事”,“要做的事”,“要做的事”)。

如果您考虑视图1和视图2,它们的共同点是它们包含状态为的项目todo。所以在两者上我都有一个Button链接到一个名为

/Item/<id>/moveToDoing

id-项目状态设置为“正在执行”。

现在,我希望将用户重定向到他单击按钮的位置(视图1或视图2)。

我的问题是:

  1. 如何用Flask做到这一点?我觉得 http://flask.pocoo.org/snippets/62/并不是我所需要的,因为我在这里没有带有公式的POST请求。(我是不是该?)
  2. 我是否以正确的方式进行操作,或者是否有通常如何解决该问题的约定?

问题答案:

我正在使用这里推荐的辅助功能:http :
//flask.pocoo.org/docs/reqcontext/

def redirect_url(default='index'):
    return request.args.get('next') or \
           request.referrer or \
           url_for(default)

在视图中使用它

def some_view():
    # some acthtml" target="_blank">ion
    return redirect(redirect_url())

如果没有任何参数,它将把用户重定向回他来自(request.referrer)的位置。您可以添加get参数next以指定网址。例如,这对于oauth很有用。

instagram.authorize(callback=url_for(".oauth_authorized",
                                                next=redirect_url(),
                                                _external=True))

我还添加了一个默认视图,如果由于某种原因应该没有引荐来源网址

redirect_url(’。another_view’)

您链接的代码段基本上可以起到相同的作用,但是可以确保您无法重定向到另一台主机上的恶意攻击者页面,因此更加安全。



 类似资料:
  • 我试图重定向到上一页的消息时,有一个致命的错误。 在试图使用访问消息的视图中 但是什么都没有表现出来,我是不是做错了什么?

  • 我有一个回调函数,检查我的登录详细信息是否正确-如果他们是错误的,它返回一个错误(这是工作正常)。如果细节是正确的,它应该设置会话

  • 问题内容: 我正在做一个简单的论坛,由一系列论坛组成,每个论坛分别代表首页,主题,postitit,登录名和用户列表页面。在某些页面上,当用户未登录时会出现一个链接。 我想要实现的是在登录后触发重定向(在RequestDispatcher上使用forward()),以便浏览器返回到用户在单击登录链接之前所在的页面。为此,我看到了两种解决方案。 第一种解决方案是使用带有登录按钮的HTML 和一个不可

  • 我正在使用带有代码交换验证密钥(PKCE)的OAUTH2.0身份验证服务来访问Spotify令牌。我用我的BundleID和重定向URI在Spotify注册了我的应用程序。 问题是,在我输入了Spotify登录的电子邮件和密码后,我会用URL中的代码重定向到RedirectUri,但什么也没有发生。 这里是我的代码: 身份验证用户的代码 这正确地打开了我的Safari,但随后我用访问URL中的令牌

  • 页面跳转 操作完成后,成功或失败页面跳转可以使用 控制器基类的success,error方法: success方法 /** * 操作成功跳转的快捷方法 * @access protected * @param mixed $msg 提示信息 * @param string $url 跳转的URL地址 * @param mixe

  • 页面跳转 操作完成后,成功或失败页面跳转可以使用 控制器基类的success,error方法: success方法 /** * 操作成功跳转的快捷方法 * @access protected * @param mixed $msg 提示信息 * @param string $url 跳转的URL地址 * @param mixe