【问题标题】:Defining both post and get method under same request handler在同一个请求处理程序下定义 post 和 get 方法
【发布时间】:2011-12-12 11:38:44
【问题描述】:

我正在使用 python 开发一个网络应用程序。

我在同一个请求处理程序中定义了“get”和“post”方法来服务于不同的目的。也就是说,我使用“get”方法向用户展示一个表单,并使用“post”方法来处理提交的表单。

效果很好,但是这种方法合适吗?或者我应该更好地在不同的请求处理程序中分别定义获取和发布?谢谢!

【问题讨论】:

    标签: python google-app-engine webapp2


    【解决方案1】:

    你的方法是合适的。根据最新的文档,您甚至可以将 post 和 get 定义为请求处理程序之外的函数以及模块中的其他函数,这是我会选择的一种方式,因为它消除了实例化请求处理程序时可能发生的问题。

    如果从头开始一个新的应用程序,我可能会尝试使用新的 python 2.7 运行时将我的 get 和 post 函数放在请求处理程序之外,根据文档支持它。

    【讨论】:

    • “消除实例化请求处理程序时可能发生的问题” - 说什么?
    • 我的意思是,如果您同意,创建更少的对象会更有效。当我想我可以不使用某些请求处理程序所做的def initialize 时,我在初始化请求处理程序时遇到了问题。如果它为每个请求执行初始化代码,那么如果我将昂贵的代码用于初始化,我的意思是说创建更少的对象会更好。
    • 我看不出这是特定于请求处理程序类的问题。如果您进行昂贵的初始化,则需要时间和资源。
    • 也许将函数放在处理程序之外的优势没有我那么大,但它看起来确实很整洁,减少了代码和干燥。我发现我无法在初始化中使用会话对象。是我做错了还是只是逻辑上我不能在初始化中使用会话对象?
    • 我不同意 - 按 URL 对处理程序进行分组非常有意义。至于在初始化方法中使用会话,这取决于您用于会话的内容以及您尝试执行的操作。
    猜你喜欢
    • 2022-01-21
    • 2022-01-26
    • 1970-01-01
    • 2015-02-11
    • 1970-01-01
    • 1970-01-01
    • 2021-12-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多