【问题标题】:adding a favicon to flask向烧瓶添加图标
【发布时间】:2021-04-21 23:51:00
【问题描述】:

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

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)

【问题讨论】:

  • 我复制了相同的代码,我的网站图标能够显示在浏览器中。您是否尝试过重新加载/确保您的网站图标有效?
  • 我该怎么做?
  • ctrl + shift + R 在 ubuntu 和 ctrl + F5 在 Windows 将硬重新加载您的浏览器
  • @Mathew 如果硬重新加载(如 GitauHarrison 指定)不起作用,这里有另一种调试方法 - 右键单击​​ - 检查,选择控制台。您看到那里有任何错误吗?
  • @Parzival,我刚刚更新了问题,以便您可以看到我收到的错误消息。

标签: python-3.x flask favicon


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2012-07-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-08
    • 2013-10-08
    • 1970-01-01
    • 1970-01-01
    • 2019-11-08
    相关资源
    最近更新 更多