0

私はおもちゃの Web フレームワークに取り組んでおり、ユーザーを指定された URL にリダイレクトするためのメソッド redirect_to を実装しました。ここにコード

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

ヘッダーに何か問題がありますか??

乾杯、

ウツァフ

4

1 に答える 1

1

HTTPリダイレクトを行うには、次の両方が必要です。

  • 'Location'HTTPヘッダー
  • '302 Found'HTTPステータスコード

HTTPステータスコードを200から302に変更していないようです。

于 2012-07-19T12:25:30.620 に答える