Перенаправление с использованием WSGIref

Я работаю над игрушечным веб-фреймворком и реализовал метод redirect_to для перенаправления пользователя на указанный URL-адрес. Вот код

def _redirect_to(_self, _url):
  """Takes an url as argument and returns a location header"""

  return ([('Location', _url)], "")                   # --- (i)

Возвращенный кортеж затем обрабатывается приложением, вот код

...
else:                                                             
  status = '200 OK'                                               
  params['_GET'] = get_data(_environment)                         
  params['_POST'] = post_data(_environment)                       
  (headers, response) = objview(objcontroller, _params = params)  # tuple from (i) is stored here

_start_response(status, headers)

Однако это не работает. Вот заголовки, которые получает мой браузер:

Content-Length:0
Date:Thu, 19 Jul 2012 06:03:52 GMT
Location:http://google.com
Server:WSGIServer/0.1 Python/2.7.3

Что-то не так с заголовками??

Ура,

Utsav

1 ответ

Решение

Чтобы сделать перенаправление HTTP, вам нужно:

  • 'Location' Заголовок HTTP
  • '302 Found' Код состояния HTTP

Похоже, вы не меняете код состояния HTTP с 200 на 302.

Другие вопросы по тегам