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

如何在Python Dash框架中使用本地.otf格式字体文件

Dash 自定义otf字体接入方案

该方案完全可行,具体操作步骤如下:

步骤1:确认项目目录结构

确保你的文件存放路径符合以下结构:

项目根目录
├── app.py   # 你的Dash启动代码文件
└── assets
    ├── custom-font.css  # 后续要创建的字体样式文件
    └── fonts
        └── 你的自定义字体文件.otf

步骤2:创建CSS样式文件声明字体

在assets目录下新建custom-font.css文件,写入以下内容:

/* 声明自定义字体 */
@font-face {
  font-family: '你自定义的字体名称'; /* 自行命名,后续代码调用时使用该名称 */
  src: url('./fonts/你的字体文件名.otf') format('opentype');
  font-weight: normal;
  font-style: normal;
}

/* 如果需要全局应用该字体,添加以下规则,不需要可以删除 */
body {
  font-family: '你自定义的字体名称', sans-serif;
}

注意:文件名大小写要和实际完全匹配,Linux/macOS环境下大小写敏感,路径错误会导致字体加载404。

步骤3:Dash代码中调用字体

Dash默认会自动加载assets目录下的所有CSS文件,不需要手动将css添加到external_stylesheets参数中。
如果没有配置全局生效,只需给指定组件添加style参数指定字体即可,修改后的示例代码如下:

import dash
import dash_html_components as html

external_stylesheets = ['https://codepen.io/chriddyp/pen/bWLwgP.css']
app = dash.Dash(__name__, prevent_initial_callbacks=True, external_stylesheets=external_stylesheets)

app.layout = html.Div([
                html.P('Hello world', style={'font-family': '你自定义的字体名称'}),
            ])

if __name__ == "__main__":
    app.run_server(debug=True,port=8050)

常见问题排查

  • 如果字体不生效,打开浏览器开发者工具的「网络」面板,刷新页面查看字体文件是否加载成功,若出现404检查文件路径和名称是否正确
  • 如果有粗体、斜体等不同字重的字体文件,可以新增多条@font-face规则,分别对应不同的font-weight、font-style属性值

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

相关产品推荐
方舟 Agent Plan

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

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