You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Google Colab中为Flask路由添加favicon且无需上传图标文件

解决方案

方案一:零文件透明占位favicon(推荐)

这个方案不需要上传任何文件、也不需要修改现有根路由的返回内容,直接新增一个favicon路由返回1x1透明png像素即可,完全满足避免404的需求。
完整修改后代码如下:

import os
from flask import send_from_directory, Flask, make_response

app = Flask(__name__)
run_with_ngrok(app)  

@app.route('/')
def index():
    return '<h1>Hello!</h1>'

# 新增favicon专属路由
@app.route('/favicon.ico')
def favicon():
    # 硬编码1x1透明PNG的二进制内容,不需要额外存储图标文件
    favicon_bytes = b'\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\x01\x00\x00\x00\x01\x08\x06\x00\x00\x00\x1f\xf3\xffa\x00\x00\x00\x0cIDAT\x08\xd7c\x00\x01\x00\x02\x00~\x00\xdc\xd2\xfe\x8e\x00\x00\x00\x00IEND\xaeB`\x82'
    response = make_response(favicon_bytes)
    response.headers['Content-Type'] = 'image/png'
    # 增加长缓存配置,避免浏览器重复发起请求
    response.headers['Cache-Control'] = 'public, max-age=86400'
    return response

if __name__ == "__main__":
    app.run()

方案二:自定义图标内嵌实现

如果需要展示自定义的favicon,不需要上传文件到Colab,可以把图标转成base64格式直接内嵌到返回的HTML中:

  1. 本地将你需要用的ico/png图标转换为base64编码字符串
  2. 将编码后的字符串嵌到HTML的favicon关联标签即可
    代码示例如下:
import os
from flask import send_from_directory, Flask

app = Flask(__name__)
run_with_ngrok(app)  

@app.route('/')
def index():
    # 把下方base64内容替换为你自己的图标转码结果即可
    favicon_base64 = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mP8/5+hHgAHggJ/PchI7wAAAABJRU5ErkJggg=="
    return f'''
    <link rel="icon" href="{favicon_base64}" type="image/x-icon">
    <h1>Hello!</h1>
    '''

if __name__ == "__main__":
    app.run()

内容的提问来源于stack exchange,提问作者guddaae2u

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.21 06:24:03