Google App Engine self.redirect帖子

时间:2009-05-19 05:24:41

标签: python google-app-engine

我有一个表单,将信息POST给我的一个处理程序。我的处理程序验证信息,然后需要将此信息发送给第三方并将用户重定向到该页面。

的例子
    class ExampleHandler(BaseRequestHandler):
  """DocString here...
  """
  def post(self):
    day = int(self.request.get('day'))
    checked_day = CheckDay(day)
    if checked_day:
      #Here is where I would like to redirect the user to the 3rd party -- but via a post as I will be submitting a form based on data in checked_day on their behalf.
    else:
      # Otherwise no post redirect is needed  -- just a simple self.redirect.
      self.redirect('/example')

关于如何将用户重定向到我提交表单的页面,您有什么建议吗?

理想情况下,我喜欢允许POST到第三方网站的self.redirect(),但我不相信这是一个选项。

我的目标是在将数据发送给第三方之前检查所提供的数据。他缺少其他选择吗?

1 个答案:

答案 0 :(得分:1)

您可以发布表单并将用户重定向到某个页面,但它们必须是单独的操作。

urlfetch.fetch()方法允许您将方法设置为POST,如下所示:

import urllib

form_fields = {
  "first_name": "Albert",
  "last_name": "Johnson",
  "email_address": "Albert.Johnson@example.com"
}
form_data = urllib.urlencode(form_fields)
headers = {'Content-Type': 'application/x-www-form-urlencoded'}
result = urlfetch.fetch(url=url,
                        payload=form_data,
                        method=urlfetch.POST,
                        headers=headers)

以上示例来自URL Fetch Python API Overview