在Pyramid中在视图间传递表单参数
我正在创建一个表单,在提交数据之前需要用户确认。我想要一个单独的确认页面,因为我需要展示很多关于表单数据如何处理的信息。我在想,在Pyramid框架中有没有一种简单的方法可以在不同的表单之间传递数据。
提交表单后,用户会被带到确认页面。因此,确认页面的视图中会存储表单数据在request.POST
里。我想知道有没有一种干净的方式,可以在用户在确认页面点击“提交”后,把所有这些数据传递到最终的视图中。我还想在参数字典中添加一个布尔变量,叫做confirmed。
1 个回答
5
这不是针对Pyramid框架的具体回答,但有两种常见的方法可以解决这个问题:
- 把数据存储在会话中。
- 在确认页面上把数据作为隐藏表单存储,然后再提交一次,带上“确认”的标记。
我更喜欢第二种方法,因为它是无状态的。你还可以使用完全相同的表单处理逻辑,只需要检查“确认”这个POST变量是否存在,就可以决定采取什么行动和显示哪个视图(也就是说,可以显示“请确认”的视图,或者处理后的“已处理”视图)。