Dash应用默认使用固定的页面标题和Flask默认图标,实际开发中我们往往需要将其替换为符合项目需求的自定义内容,比如将标题改为项目专属名称,将图标替换为品牌logo。下面介绍两种常用的实现方式。

方法一:通过Dash内置属性直接配置
Dash应用实例提供了title属性,可以直接设置页面标题,这种方式操作简单,适合只需要修改标题的场景。对于页面图标,我们可以通过自定义<head>部分的内容来添加favicon链接。
设置自定义标题
只需要在初始化Dash应用时,给title参数传入想要的标题文字即可,代码如下:
import dash
from dash import html
# 初始化Dash应用,设置自定义标题
app = dash.Dash(__name__, title="我的数据分析平台")
app.layout = html.Div([
html.H1("欢迎使用自定义标题的Dash应用")
])
if __name__ == "__main__":
app.run_server(debug=True)
添加自定义页面图标
页面图标(favicon)需要通过HTML的<link>标签引入,我们可以使用Dash的app.index_string属性自定义整个HTML模板的<head>部分,添加图标引用。首先需要准备一个ico格式的图标文件,放在应用同目录下的assets文件夹中,Dash会自动托管该文件夹下的静态资源。
代码示例如下:
import dash
from dash import html
app = dash.Dash(__name__, title="我的数据分析平台")
# 自定义HTML模板,添加favicon链接
app.index_string = '''
<!DOCTYPE html>
<html>
<head>
{%metas%}
<title>{%title%}</title>
{%favicon%}
<link rel="icon" type="image/x-icon" href="/assets/favicon.ico">
{%css%}
</head>
<body>
{%app_entry%}
{%config%}
{%scripts%}
{%renderer%}
</body>
</html>
'''
app.layout = html.Div([
html.H1("带自定义图标的Dash应用")
])
if __name__ == "__main__":
app.run_server(debug=True)
上述代码中,href="/assets/favicon.ico"指向的就是放在assets文件夹下的图标文件,启动应用后浏览器会自动加载该图标作为标签页图标。
方法二:通过自定义Flask路由实现
因为Dash底层基于Flask,我们也可以直接操作Flask应用的路由,更灵活地控制页面返回的HTML内容,这种方式适合需要深度定制页面结构的场景。
代码示例如下:
import dash
from dash import html
from flask import Flask
# 初始化Flask服务
server = Flask(__name__)
# 将Flask服务绑定到Dash应用
app = dash.Dash(__name__, server=server, title="自定义Flask路由标题")
# 自定义根路由,返回包含自定义标题和图标的HTML
@server.route("/")
def index():
return '''
<!DOCTYPE html>
<html>
<head>
<title>Flask路由自定义标题</title>
<link rel="icon" type="image/x-icon" href="/assets/favicon.ico">
</head>
<body>
<h1>通过Flask路由自定义页面内容</h1>
<div id="react-entry-point">
{%app_entry%}
</div>
{%config%}
{%scripts%}
{%renderer%}
</body>
</html>
'''
app.layout = html.Div([
html.P("该页面通过自定义Flask路由实现标题和图标配置")
])
if __name__ == "__main__":
app.run_server(debug=True)
注意事项
- 图标文件建议放在
assets文件夹下,Dash默认会托管该目录的静态资源,无需额外配置路由。 - 如果使用自定义
index_string,需要保留原有的{%metas%}、{%css%}、{%scripts%}等占位符,否则可能导致Dash的核心功能失效。 - 图标格式推荐使用ico,兼容性更好,也可以使用png等格式,只需要修改
type属性即可。
DashHTML_titlefaviconFlaskweb_application修改时间:2026-06-10 17:54:32