WSGI应用程序如何进行重定向?

时间:2019-07-03 10:00:09

标签: python wsgi

对如何在简单的WSGI应用程序中进行重定向感兴趣。
我尝试这样做:

def some_functions(environ, start_response):
    start_response('200 OK', [('Content-Type', 'text/html'), ('Location', 'http://some_page')])
    return []

但这不起作用。
必须做出“退货”,否则退货不起作用,但是退货不明白。
告诉我我在做什么错了吗?

1 个答案:

答案 0 :(得分:0)

您需要指定3xx HTTP响应代码。例如,您可以使用302 Found告诉客户访问您提供的Location

您的代码将变为:

def some_functions(environ, start_response):
start_response('302 Found', [('Location', 'http://some_page')])
return []

您是正确的,您确实需要退货。 return []行在这里可以正常工作,因为没有要返回的请求正文。通常,WSGI应用程序应返回字节列表,从技术上讲[]只是一个空字节列表。

请注意,由于没有返回内容,因此您也不需要提供Content-Type。唯一需要发送给客户端的是重定向信息。