讲师中心 微信公众号
AI工具推荐 视频效率加速

如何在FastAPI等后端框架生成的文档中引入自定义CSS样式?

酷婷姑娘_3545

酷婷姑娘_3545

发布时间:2026-06-23 17:39:03

|

951人浏览过

|

来源于php中文网

原创

必须先禁用 FastAPI 默认文档路由(docs_url=None, redoc_url=None),再通过 get_swagger_ui_html 注入自定义 swagger_css_url,同时配对指定 swagger_js_url 和 openapi_url,并注意 CSS 选择器优先级与浏览器缓存。

如何在fastapi等后端框架生成的文档中引入自定义css样式?

直接改 swagger_css_url 或挂载静态文件再引用,别碰默认文档路由——否则样式不生效还容易被 CDN 覆盖。

禁用默认文档路由是前提

FastAPI 的 docs_urlredoc_url 一开启,就自动走内置 HTML 模板,你挂的 CSS 根本没机会加载。必须先关掉:

  • app = FastAPI(docs_url=None, redoc_url=None)
  • 关掉后,/docs/redoc 路径 404,你才能自己注册路由
  • 如果只关一个(比如只关 redoc_url),另一个仍会抢资源、干扰自定义逻辑

get_swagger_ui_html 注入自定义 CSS 链接

这是最轻量、最可控的方式,适合换 CDN 或加一层本地样式:

  • 调用 get_swagger_ui_html 时传入 swagger_css_url 参数,值为你的 CSS 地址
  • 地址可以是:https://unpkg.com/swagger-ui-dist@5/swagger-ui.css(国内快)、/static/custom.css(需提前挂载 StaticFiles
  • 注意:swagger_js_url 也得一起指定,否则 JS 和 CSS 版本不匹配,UI 可能白屏或错位
  • 示例中 openapi_url 必须显式传,不能依赖默认值——某些部署环境下它可能不是 /openapi.json

自托管 CSS 文件要配对挂载静态目录

想彻底脱离 CDN、做离线部署或深度定制,就得把 CSS 文件放到项目里:

FastAPI 0.140.10
FastAPI 0.140.10

FastAPI 0.140.10 是 FastAPI 的官方历史稳定版本,下载地址使用 PyPI wheel 包直链,适合指定版本安装和项目环境复现。

下载

立即学习前端免费学习笔记(深入)”;

  • static/ 目录,放 custom-swagger.css
  • app.mount("/static", StaticFiles(directory="static"), name="static") 挂载
  • get_swagger_ui_html 中写 swagger_css_url="/static/custom-swagger.css"
  • CSS 里选类名要小心:.swagger-ui .topbar 这种带前缀的才安全;直接写 bodyh1 容易被 Swagger 自身样式覆盖

别忽略 swagger_ui_parameters 的内建配置项

有些样式效果根本不用写 CSS,FastAPI 已经封装好了参数接口:

  • swagger_ui_parameters={"syntaxHighlight": {"theme": "nord"}} —— 直接切语法高亮主题,比手写 CSS 稳定
  • {"deepLinking": False} —— 关掉 URL 锚点跳转,避免前端路由冲突
  • {"defaultModelsExpandDepth": -1} —— 折叠 Schema,默认展开太占屏
  • 这些参数和自定义 CSS 不冲突,但优先级低于 CSS;有重叠功能时,建议优先用参数,更少维护成本

真正难的不是加一行 swagger_css_url,而是 CSS 选择器得压过 Swagger 自带的千行样式规则;改完记得清浏览器缓存,否则常看到“明明改了却没变”的假象。

热门AI工具

更多
DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

SkildArt
SkildArt Hot

SkildArt是一款AI文本写作工具,一站式 AI 视觉创作平台。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

Seko
Seko Hot

一款AI视频创作工具,主要用于商汤科技推出的创编一体的AI短视频创作Agent,适合需要提升相关任务效率的用户。

UpDream
UpDream Hot

一款AI视频创作工具,主要用于哔哩哔哩推出的自研AI视频创作工具,适合需要提升相关任务效率的用户。

切问学术

切问学术是一款AI论文写作工具,复旦大学NLP团队推出的AI学术智能体。

咔片AIPPT

一款在线AI演示文稿制作工具,可根据主题和内容需求辅助生成PPT结构与页面,提高演示材料制作效率。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

讯飞智作

讯飞智作是一款AI视频创作工具,AI文本配音工具,数字人课程、营销视频制作。

相关专题

更多
python是前端还是后端
python是前端还是后端

Python属于前端也属于后端,其灵活性和丰富的生态系统使得开发人员能够在不同的领域中灵活运用。本专题为大家提供python相关的文章、下载、课程内容,供大家免费下载体验。

2043

2023.08.11

前端和后端的区别
前端和后端的区别

前端关注的是用户界面的设计和交互,而后端则注重数据处理和逻辑控制。想了解更多前端后端的相关内容,可以阅读本专题下面的文章。

5450

2024.03.19

后端的主要工作内容介绍
后端的主要工作内容介绍

后端是应用程序的服务端部分,负责核心任务,如数据库交互、业务逻辑处理和响应客户端请求。想了解更多后端的相关内容,可以阅读本专题下面的文章。

4786

2024.03.19

css
css

css是层叠样式表,用来表现HTML或XML等文件样式的计算机语言,不仅可以静态地修饰网页,还可以配合各种脚本语言动态地对网页各元素进行格式化。php中文网还为大家带来html的相关下载资源、相关课程以及相关文章等内容,供大家免费下载使用。

3776

2023.06.15

css居中
css居中

css居中:1、通过“margin: 0 auto; text-align: center”实现水平居中;2、通过“display:flex”实现水平居中;3、通过“display:table-cell”和“margin-left”实现居中。本专题为大家提供css居中的相关的文章、下载、课程内容,供大家免费下载体验。

857

2023.07.27

css如何插入图片
css如何插入图片

cssCSS是层叠样式表(Cascading Style Sheets)的缩写。它是一种用于描述网页或应用程序外观和样式的标记语言。CSS可以控制网页的字体、颜色、布局、大小、背景、边框等方面,使得网页的外观更加美观和易于阅读。php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

1698

2023.07.28

css超出显示...
css超出显示...

在CSS中,当文本内容超出容器的宽度或高度时,可以使用省略号来表示被隐藏的文本内容。本专题为大家提供css超出显示...的相关文章,相关教程,供大家免费体验。

3046

2023.08.01

css字体颜色
css字体颜色

CSS中,字体颜色可以通过属性color来设置,用于控制文本的前景色,字体颜色在网页设计中起到很重要的作用,具有以下表现作用:1、提升可读性;2、强调重点信息;3、营造氛围和美感;4、用于呈现品牌标识或与品牌形象相符的风格。

5905

2023.08.10

Vibeknow在线使用入口合集
Vibeknow在线使用入口合集

本专题汇总了Vibeknow在线创作视频的官方入口及网页版使用教程,涵盖PPT、PDF、Word等文档一键转讲解视频的核心操作,并整理了免费版水印规则与手机端浏览器访问指南,助你快速将知识内容视频化。

0

2026.09.21

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
FastAPI SQL数据库实战文档
FastAPI SQL数据库实战文档

共0课时 | 0人学习

FastAPI官方教程文档
FastAPI官方教程文档

共0课时 | 0人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn