在 Python 中使用 Iconify(通常指 Iconify 图标库,包含大量开源图标如 Material Design、FontAwesome、Twemoji 等)主要有以下几种方式:
✅ 推荐方式:使用 iconify 库
安装库
pip install iconify
基本用法
from iconify import Iconify
# 创建 Iconify 实例
iconify = Iconify()
# 获取 Material Design 图标
icon = iconify.get_icon("mdi:home")
print(icon) # 返回 SVG 字符串
# 获取 FontAwesome 图标
icon = iconify.get_icon("fa6-solid:heart")
print(icon)
# 获取 Twemoji 表情
icon = iconify.get_icon("twemoji:grinning-face")
print(icon)
查看可用图标集
# 列出所有可用的图标集
print(iconify.get_collections())
# 列出某个图标集下的所有图标
print(iconify.get_icons("mdi"))
自定义图标属性
icon = iconify.get_icon(
"mdi:home",
width=32,
height=32,
color="blue",
rotate=90
)
print(icon)
✅ 替代方案:使用 iconify-python 或 svg-iconify
svg-iconify
pip install svg-iconify
from svg_iconify import get_icon
svg = get_icon("mdi:home", width=24, height=24)
print(svg)
直接调用 Iconify API
Iconify 提供公共 API,你可以直接通过 HTTP 请求获取图标:
import requests
def get_icon_svg(icon_name: str, width: int = 24, height: int = 24) -> str:
url = f"https://api.iconify.design/{icon_name}.svg?width={width}&height={height}"
response = requests.get(url)
return response.text
# 使用示例
svg = get_icon_svg("mdi:home")
print(svg)
✅ 在 Web 项目中使用(Flask/Django/FastAPI)
from fastapi import FastAPI from iconify import Iconify app = FastAPI() iconify = Iconify() @app.get("/icon/{icon_name}") def get_icon(icon_name: str, width: int = 24, height: int = 24): svg = iconify.get_icon(icon_name, width=width, height=height) return {"svg": svg}
✅ 支持的图标集(部分)
| 图标集 | 前缀示例 | 说明 |
|---|---|---|
| Material Design Icons | mdi:home |
最常用 |
| FontAwesome 6 | fa6-solid:heart |
经典图标库 |
| Twemoji | twemoji:grinning-face |
表情符号 |
| Carbon | carbon:home |
简洁风格 |
| Lucide | lucide:home |
现代简洁 |
| Feather | feather:home |
轻量级 |
| Heroicons | heroicons:home
|
Tailwind CSS 官方 |
✅ 注意事项
- 图标名称格式:
前缀:图标名,如mdi:home - 离线使用:
iconify库会缓存图标数据,首次使用需联网,后续可离线使用 - 性能:大量图标请求时建议缓存 SVG 字符串
- 自定义图标:Iconify 支持自定义图标集,可通过 JSON 格式添加
| 方式 | 优点 | 缺点 |
|---|---|---|
iconify 库 |
功能完整,支持缓存 | 需安装依赖 |
svg-iconify |
轻量级 | 功能较少 |
| HTTP API | 无需安装库 | 需网络,有延迟 |
推荐:大多数场景下使用 pip install iconify 即可满足需求。
首发原创文章,作者:世雄 - 原生数据库架构专家,如若转载,请注明出处:https://idctop.com/article/484061.html



