Google App Engine self.redirect пост - PullRequest
2 голосов
/ 19 мая 2009

У меня есть форма, которая отправляет информацию одному из моих обработчиков. Мой обработчик проверяет информацию, а затем должен отправить эту информацию третьему лицу И перенаправить пользователя на эту страницу.

Пример

    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')

У вас есть какой-нибудь совет, как я могу перенаправить пользователя на страницу, где я отправил форму?

В идеале мне бы хотелось, чтобы self.redirect () разрешал POST на сторонние сайты, но я не думаю, что это вариант.

Моя цель - проверить предоставленные данные, прежде чем отправлять их третьим лицам. Мне не хватает их других вариантов?

1 Ответ

1 голос
/ 19 мая 2009

Вы можете отправить форму и перенаправить пользователя на страницу, но это должны быть отдельные операции.

Метод 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 .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...