在Pylons应用程序中处理表单POST数据的最佳方法是什么?我试过了:
有一个单独的GET方法和一个带有rest.restrict('post')装饰器的POST方法。问题 - 如果存在验证错误,则无法使用用户输入的数据重新显示表单,因为您必须重定向回GET方法,或者您必须直接从POST方法呈现模板。不幸的是,这看起来很奇怪,因为URL必须更改以对应于POST操作。
在一个方法中完成所有操作,并通过对request.method的检查来检测表单是否已发布。这没关系,但是如果request.method =='post',那么看起来很笨拙:......其他:......
答案 0 :(得分:2)
在一个方法中完成所有操作,并通过检查request.method检测表单是否已发布。这样做没问题,但是如果request.method =='post'看起来有点笨拙:......其他:......
我不确定你为什么把它形容为笨拙。切换请求方法是跨语言的Web应用程序世界中的有效习惯。对于例如您将找到具有单个视图的Django视图,该视图根据request.method
以不同方式处理请求。同样在Java中,Servlet使用doPost()
和doGet()
方法为GET
和POST
请求提供不同的行为。
<强>更新强>
如果可能的话,我只是将它们分成不同的方法。许多其他Web框架都这样做
这种方法也没有错。我只是指出使用相同的方法处理它们同样有效。