首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用Python在Google App Engine上实现Post-redirect-get?

如何使用Python在Google App Engine上实现Post-redirect-get?
EN

Stack Overflow用户
提问于 2013-03-04 11:12:06
回答 1查看 1.3K关注 0票数 2

我正在开发一个用Python在Google App Engine上的在线投标系统。关于post-redirect-get机制,我已经搜索了一段时间,但仍然不清楚如何实现它。假设:

HTML:

代码语言:javascript
复制
<form action="/test" method="post">
  ...
  <input type="submit" value="Submit" />
</form>

Python:

代码语言:javascript
复制
# 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”?

这是可行的,甚至是正确的?

(注意:由于订单号是由系统生成的,因此必须在提交表单之前保存实体才能获得该编号)

提前谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-03-11 19:17:06

您正在寻找的是构建一个Restful服务,如下所示:

代码语言:javascript
复制
class BiddingHandler(webapp2.RequestHandler):
    def get(self):
        #Get code goes here for this handler

    def post(self):
        #code that gets your posted data and processes it

    def delete(self):
        #code to delete something

app = webapp2.WSGIApplication([('/bidding', BiddingHandler)])

看一下上面的代码,如果你想在文章的最后一行做一个重定向,而不是呈现一个模板,你只需要用下面的代码将用户重定向到处理程序的get部分:

代码语言:javascript
复制
self.response.redirect('/bidding')

我上面向你展示的是实现它的正确方法。对于每个请求,写入数据存储并从中读取将意味着更多的开销和成本。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15193988

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档