我正在使用 Python 在 Google App Engine 上开发一个在线竞价系统。关于 post-redirect-get 机制,我已经在谷歌上搜索了一段时间,但仍然不清楚如何实现它。认为:
HTML:
<form action="/test" method="post">
...
<input type="submit" value="Submit" />
</form>
Python:
# Collect data from the posted form
...
# Save data into datastore
...
# Prepare template values
tempalteValues = { ... }
path = os.path.join(os.path.dirname(__file__), 'templates/', 'responseMessage.html')
handler.response.out.write(template.render(path, templateValues))
# Then what?
我有两个问题:
1) 渲染响应消息文件后,接下来应该做什么?也就是说,如何实现'GET'?
2)我能想到的另一种策略是:如果帖子应该只发生一次(例如,具有唯一订单号的产品购买),我可以在实体中设置一个标志,指示表单已提交以及以下帖子如果设置了标志将被忽略?这是可行的,甚至是正确的吗?
(注意:由于订单号是系统生成的,所以在提交表单之前必须先保存实体才能得到该号)
提前致谢。