Python 挂架-处理GET和POST请求

Python 挂架-处理GET和POST请求,python,validation,pylons,Python,Validation,Pylons,在我的挂架应用程序中处理表单POST数据的最佳方法是什么?我试过: 有一个单独的GET方法和一个带有rest.restrict('POST')装饰符的POST方法。问题——如果存在验证错误,则无法使用用户输入的数据重新显示表单,因为必须重定向回GET方法,或者必须直接从POST方法呈现模板。不幸的是,这看起来很奇怪,因为URL必须更改以对应POST操作 将所有内容放在一个方法中,并通过check-on-request.method检测表单是否已发布。这可以正常工作,但是如果使用if reque

在我的挂架应用程序中处理表单POST数据的最佳方法是什么?我试过:

  • 有一个单独的GET方法和一个带有rest.restrict('POST')装饰符的POST方法。问题——如果存在验证错误,则无法使用用户输入的数据重新显示表单,因为必须重定向回GET方法,或者必须直接从POST方法呈现模板。不幸的是,这看起来很奇怪,因为URL必须更改以对应POST操作

  • 将所有内容放在一个方法中,并通过check-on-request.method检测表单是否已发布。这可以正常工作,但是如果使用if request.method=='post',则看起来很笨拙。。。其他:

将所有内容放在一个方法中,并通过check-on-request.method检测表单是否已发布。这可以正常工作,但是如果使用if request.method=='post',则看起来很笨拙。。。其他:

我不知道你为什么说这很笨拙。在跨语言的web应用程序世界中,打开请求方法是一个有效的习惯用法。例如,您会发现Django视图有一个单独的视图,该视图根据
request.method
处理不同的请求。类似地,在Java中,servlet有
doPost()
doGet()
方法为
GET
POST
请求提供不同的行为

更新


如果可能的话,我宁愿把它们分成不同的方法。许多其他web框架都这样做


这种方法也没有错。我只是指出,使用相同的方法处理它们同样有效。

如果可能的话,我宁愿将它们分为不同的方法。许多其他的web框架都是这样做的。@Matt H:这种方法也没什么错。我只是指出,用同样的方法处理它们同样有效