2010-01-27 60 views
2

从Google App Engine使用webapp时,如何区分POST和GET?哪一个获得优先权,我如何区分它们?一块下面的代码显示了获得POST/GET字段值的方式:Google App Engine:使用GET,POST和Cookies的简单方法

class AddWordHandler(webapp.RequestHandler): 
    def post(self): 
     theWord = str(self.request.get('theWord', default_value="no")) 

我想多问:如何处理GET,POST和Cookies顺利和透明,而无需编写自己的解析器?

回答

4

在每个请求上,webapp框架将调用以HTTP方法命名的方法。因此,GET请求调用'get()',POST请求调用'post()'等等。

要检索提交的值,可以使用self.request.get(),它既适用于发布数据又适用于查询字符串数据,或者self.request.GET和self.request.POST适用于查询字符串数据并发布数据,分别。

webapp框架的请求对象基于webob之一,因此有关此以及如何处理cookie的更多信息,请参阅webob documentation

+0

嗨,尼克。实际上,如果您遵循GAE文档,建议在使用POST方法时使用self.request.get()获取值。 – Viet 2010-01-27 08:46:49

+0

@Viet:不,这是允许的 - 你可以将它用于任何一种方法 - 但使用self.request.GET和self.request.POST绝对没有问题。 – 2010-01-28 09:00:20

+0

谢谢尼克。我试过了,它工作。我发现self.request.get()相当混乱。 – Viet 2010-01-28 16:21:33