Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/294.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在同一请求处理程序下定义post和get方法_Python_Google App Engine_Webapp2 - Fatal编程技术网

Python 在同一请求处理程序下定义post和get方法

Python 在同一请求处理程序下定义post和get方法,python,google-app-engine,webapp2,Python,Google App Engine,Webapp2,我正在使用python开发一个web应用程序 我在同一个请求处理程序中定义了“get”和“post”方法,以满足不同的目的。也就是说,我使用“get”方法向用户呈现表单,使用“post”方法处理提交的表单 它工作正常,但这种方法合适吗?或者我应该在不同的请求处理程序中分别定义get和post吗?谢谢 你的方法是合适的。根据最新的文档,您甚至可以将post和get定义为请求处理程序之外的函数,就像模块中的其他函数一样。这是我选择的一种方式,因为它消除了实例化请求处理程序时可能发生的问题 如果从零开

我正在使用python开发一个web应用程序

我在同一个请求处理程序中定义了“get”和“post”方法,以满足不同的目的。也就是说,我使用“get”方法向用户呈现表单,使用“post”方法处理提交的表单


它工作正常,但这种方法合适吗?或者我应该在不同的请求处理程序中分别定义get和post吗?谢谢

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


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

“消除了实例化请求处理程序时可能发生的问题”-说什么?我的意思是,如果您同意的话,创建更少的对象更有效。我在初始化请求处理程序时遇到了问题,当时我认为我可以不用像某些请求处理程序那样使用自己的
def initialize
。如果它对每个请求都执行init代码,那么如果我将昂贵的初始化代码放在我的意思是创建更少的对象更好的地方,我可能会遇到问题。我不知道这是一个特定于请求处理程序类的问题。如果你做昂贵的初始化,它将花费时间和资源,时间。也许把函数放在处理程序之外的优势并没有我想象的那么大,但它看起来确实很整洁,使它更少的代码和枯燥。我发现无法在初始化中使用会话对象。是我做错了,还是我不能在初始化中使用会话对象符合逻辑?我不同意——按URL对处理程序进行分组是完全有意义的。至于在initialize方法中使用会话,这取决于您在会话中使用的内容,以及您尝试执行的操作。