用python flask 搭建的网站,如何增加ICO 图标

用python flask 搭建的网站,如何增加ICO 图标

“favicon”是浏览器用于标签和书签的图标,这有助于区分自己的网站,并给它一个独特的品牌。

使用flask 搭建的网站,一个常见的问题是如何在Flask应用程序中添加图标。

当然,首先需要一个图标:它最好是16 × 16像素,并且是ICO文件格式。这不是必需的,而是所有相关浏览器都支持的事实上的标准。

将图标以favicon.ico的形式放在静态目录中。比如相对路径一般在:static/favicon.ico。

现在,要让浏览器找到该的图标,正确的方法是在HTML中添加一个链接标记,这样:

<link rel="shortcut icon" href="{{ url_for('static', filename='favicon.ico') }}">

生成的html 代码,包含的就是这样一个数据了:

<link rel="shortcut icon" href="/static/favicon.ico">

现在大部分浏览器都支持这个去获取icon,但是一些非常老的浏览器不支持这个标准。旧的实际标准是在网站根目录下以这个名称提供这个文件。

如果服务器web应用没有挂载在域名的根路径上,那就需要配置web服务器以在根路径上提供图标。如果你的应用程序是根,你可以简单地路由重定向:

app.add_url_rule('/favicon.ico',
                 redirect_to=url_for('static', filename='favicon.ico'))

如果想保存额外的重定向请求,也可以使用send_from_directory()编写一个路由:

import os
from flask import send_from_directory

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

(全文完)

(欢迎转载本站文章,但请注明作者和出处 云域 – Yuccn

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注