基本 Jinja

PythonのFlaskでfavicon.ico(ファビコン)を表示する

最終更新日 2019.12.03

Flask の favicon.ico は send_from_directory で設定します。

@app.route('/favicon.ico')
def favicon():
    return send_from_directory(os.path.join(app.root_path, 'static/img'), 'favicon.ico', )

send_from_directory は Flask の関数で、第一引数にファビコンのあるディレクトリを指定します。実際は Flask の root_path を利用し、Python の os.path.join でパスを結合するため、上のようなややこしいコードになります。

ファビコンは一部のブラウザが最初にリクエストするアドレスです。これを設定しないと、本来のページを表示する前に、Flask がエラーを出してしまう可能性があります。