首页 > 解决方案 > 向烧瓶添加图标

问题描述

我正在尝试按照此处给出的说明进行操作:在没有 HTML的情况下将 favicon 添加到 Flask 服务器,以了解如何将 favicon 添加到 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)

标签: python-3.xflaskfavicon

解决方案


我需要导入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)

推荐阅读