【Flask】 Not Found: /favicon.ico 项目logo图标加载

当浏览器访问我们的服务器时,浏览器会默认请求项目根路径下的favicon.ico文件,根目录下没有这个文件,所以就报了这个错误。

INFO:werkzeug:127.0.0.1 - -  "GET /favicon.ico HTTP/1.1" 404 -

如何解决:

浏览器请求的是/favicon.ico,如图:

所以我们定义一个这样的路径,通过具体的方法实现就可以了,我们要做的是把favicon.ico文件,放到static文件夹下。

from flask import current_app


# http://127.0.0.1:5000/favicon.ico
@news_blue.route('/favicon.ico')
def favicon():
    # 后端返回文件给前端(浏览器),send_static_file是Flask框架自带的函数
    return current_app.send_static_file('static/favicon.ico')

那send_static_file是怎么实现的呢?

首先进入Flask类源码,可以看到Flask静态路由就是通过这个函数实现的

【Flask】 Not Found: /favicon.ico 项目logo图标加载_第1张图片

然后点进send_static_file看一下

【Flask】 Not Found: /favicon.ico 项目logo图标加载_第2张图片

 注意:

# 这里的'static/favicon.ico'中static是可有可无的,已经帮我们实现了
return current_app.send_static_file('static/favicon.ico')

不管写没写static,路由都是下图:

要显示ico图标,还要清空浏览器缓存,重新访问。

你可能感兴趣的:(❤You,need,Python!,------【Flask】,------【问题积累】)