/ Redirecionamento de Tornado na alteração de cookie - python, redirecionamento, tornado

Redirecionamento de tornado na mudança de cookie - python, redirecionamento, tornado

Eu estou usando o servidor Tornado, onde eu mudo ocurrrent usuário para um novo usuário e, em seguida, eu quero redirecionar para uma determinada página. Embora o usuário tenha mudado, ele não redireciona para esta página e somente atualiza a página do navegador ou navega dentro do site.

Este é o fragmento de código:

class SuperHandler(BaseHandler):
@tornado.web.authenticated
def post(self):
self.clear_cookie("user")
................
self.set_secure_cookie("user", new_user_id)

self.redirect("/home")

No meu console, isso me dá uma mensagem de sucesso de que ocorreu um redirecionamento:

 [I 150226 19:19:55 web:1728] 200 GET /home (127.0.0.1) 356.00ms

Como posso obter o self.redirect executar?

Respostas:

0 para resposta № 1

O código de status HTTP padrão para redirecionamento emtornado é 302 (redirecionamento temporário). Isso é problemático para o método POST, pois o 302 faria com que os dados do post fossem reenviados para um URI diferente. Os agentes do usuário geralmente protegem contra esse tipo de comportamento. O status HTTP 303 foi projetado para manipular o redirecionamento após uma solicitação POST e o status pode ser definido no método de redirecionamento:

self.redirect("/home", status=303)