Pylons - 处理GET和POST请求

时间:2010-10-06 09:32:27

标签: python validation pylons

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

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

  • 在一个方法中完成所有操作,并通过对request.method的检查来检测表单是否已发布。这没关系,但是如果request.method =='post',那么看起来很笨拙:......其他:......

1 个答案:

答案 0 :(得分:2)

  

在一个方法中完成所有操作,并通过检查request.method检测表单是否已发布。这样做没问题,但是如果request.method =='post'看起来有点笨拙:......其他:......

我不确定你为什么把它形容为笨拙。切换请求方法是跨语言的Web应用程序世界中的有效习惯。对于例如您将找到具有单个视图的Django视图,该视图根据request.method以不同方式处理请求。同样在Java中,Servlet使用doPost()doGet()方法为GETPOST请求提供不同的行为。

<强>更新

  

如果可能的话,我只是将它们分成不同的方法。许多其他Web框架都这样做

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