Skip to main content
 首页 » 编程设计

python之Google App Engine self.redirect 帖子

2025年05月04日23yyy_WW

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

例子

    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 到第 3 方网站的 self.redirect(),但我不认为这是一个选项。

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

请您参考如下方法:

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

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 .