1. ホーム
  2. パイソン

[解決済み】FlaskでURLへのリダイレクトを行う。

2022-03-29 03:09:49

質問

私はPythonとFlaskの初心者で、次のようなことをしようとしています。 Response.redirect C#のように、つまり特定のURLにリダイレクトする。

以下は私のコードです。

import os
from flask import Flask

app = Flask(__name__)

@app.route('/')
def hello():
    return 'Hello World!'

if __name__ == '__main__':
    # Bind to PORT if defined, otherwise default to 5000.
    port = int(os.environ.get('PORT', 5000))
    app.run(host='0.0.0.0', port=port)

解決方法は?

リダイレクトを返す必要があります。

import os
from flask import Flask,redirect

app = Flask(__name__)

@app.route('/')
def hello():
    return redirect("http://www.example.com", code=302)

if __name__ == '__main__':
    # Bind to PORT if defined, otherwise default to 5000.
    port = int(os.environ.get('PORT', 5000))
    app.run(host='0.0.0.0', port=port)

参照 flask docs のドキュメントを参照してください。 codeのデフォルト値は302なので code=302 を省略したり、他のリダイレクトコード(301、302、303、305、307のいずれか)に置き換えたりすることが可能です。