向烧瓶中添加一个图标

adding a favicon to flask

我正在尝试按照此处给出的说明进行操作:Adding a favicon to a Flask server without HTML 关于如何将网站图标添加到 Flask 应用程序,但它对我不起作用。这是我的申请文件:

from flask import Flask,send_from_directory
application=Flask(__name__)

@application.route('/')
def main():
    return '<html><p>hello world</p></html>'

@application.route('/favicon.ico')
def favicon():
    return send_from_directory(os.path.join(application.root_path, 'static'),
        'favicon.ico',mimetype='image/vnd.microsoft.icon')

if __name__=='__main__': application.run(debug = True)

这是我的目录结构:

➜  demo ls -R
application.py static

./static:
favicon.ico

当我在 Firefox 中 运行 应用程序时,没有显示图标,而当我在 Chrome 中 运行 时,显示默认图标。我使用这个网站将 png 转换为 ico 文件: https://www.freeconvert.com/png-to-ico

请让我知道哪里出错了。

当我 运行 chrome 中的应用程序时,我在控制台中收到此错误:

GET http://localhost:5000/favicon.ico 500 (INTERNAL SERVER ERROR)

我需要导入 os,这是工作应用程序:

from flask import Flask,send_from_directory
import os
application=Flask(__name__)

@application.route('/')
def main():
    return '<html><p>hello world</p></html>'

@application.route('/favicon.ico')
def favicon():
    return send_from_directory(os.path.join(application.root_path, 'static'),
        'favicon.ico',mimetype='image/vnd.microsoft.icon')

if __name__=='__main__': application.run(debug = True)