【问题标题】:Webapp2 + WTForms issue: How to pass values and errors back to user?Webapp2 + WTForms 问题:如何将值和错误传回给用户?
【发布时间】:2012-10-14 12:15:34
【问题描述】:

我遇到了 webapp2 和 wtforms 的问题。更具体地说,我在两个不同的处理程序中定义了两种方法,称为:

  • create,这是一个监听特定路由的GET方法
  • save,这是一个监听另一个路由的POST方法

在save 方法中,我验证我的表单,如果失败,我想通过redirect_to 方法重定向到create 方法,在那里我可以使用表单呈现模板。这有可能吗?我找到了一个示例,说明如果使用 get 和 post 方法的相同处理程序可以做到这一点,但这可能在不同处理程序的方法中实现吗?

提前致谢!

【问题讨论】:

    标签: python google-app-engine webapp2 wtforms


    【解决方案1】:

    我认为如果路由是同一个应用程序的一部分,这将起作用。

    但是为什么不使用带有 get 和 put 以及方法 _create 的单个处理程序,可以通过 get 和 put 调用(self._create 而不是重定向)以使用表单呈现模板。它比浏览器重定向更快,您可以通过简单的方式传递参数。

    【讨论】:

    • 感谢您的回答,但正如您从我的问题中看到的那样,问题是是否可以使用我当前的结构来完成。我已经按照您提出的方法完成了它,但这不是我想要的项目结构。再次感谢!
    • 好的。我提议的原因是:我不喜欢重定向。当我处理多页表单时,我尝试对每个页面请求使用相同的 URL,并使用状态调度处理程序方法。这使得页面遍历变得容易(没有重定向导致新请求)。
    • 你好!正如我在问题中已经提到的,我理解你提出建议的原因。然而,问题仍然存在:我想要的结构是否可行?如果不是,我可能会像已经采用的那样遵循其他解决方案。
    • 是的,发送浏览器重定向对于内部代码架构问题来说是一个非常糟糕的解决方案。不要那样做。
    猜你喜欢
    • 2012-07-21
    • 2017-09-20
    • 2013-11-07
    • 2023-03-13
    • 1970-01-01
    • 2023-02-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多