如何修改Apache Superset报表邮件中的链接文本?
修改Superset报表邮件中“Explore in Superset”文本不生效的解决方法
清理缓存并重启服务
Superset前后端可能存在缓存,修改代码后需彻底清理并重启:- 清理前端缓存:删除
superset-frontend/dist目录,重新执行npm run build构建前端资源 - 清理后端缓存:删除
~/.superset下的缓存目录 - 重启Superset服务:开发环境执行
superset run -h 0.0.0.0 -p 8088 --with-threads --reload,生产环境重启对应服务进程
- 清理前端缓存:删除
检查邮件模板文件
确认是否修改了正确的邮件模板:- 邮件模板通常在
superset/templates/email目录下,比如report.html或report.txt,检查这些文件中是否存在硬编码的“Explore in Superset”字符串并完成替换 - 若模板中使用了
{{ _('Explore in Superset') }}这类国际化变量,需对应修改翻译文件
- 邮件模板通常在
更新i18n翻译文件
如果字符串通过国际化系统加载,需调整翻译条目:- 找到
superset/translations目录下对应语言的messages.po文件(如中文为zh/LC_MESSAGES/messages.po) - 搜索
msgid "Explore in Superset",将对应的msgstr内容改为目标文本 - 编译翻译文件:执行
pybabel compile -d superset/translations生成.mo文件
- 找到
重启Celery Worker(若使用异步邮件)
若Superset配置了Celery发送邮件,需重启Worker进程以加载新代码:- 执行
celery -A superset.tasks.celery_app:app worker --loglevel INFO重启Worker
- 执行
验证代码修改范围
确认未遗漏任何包含目标字符串的文件:- 执行
grep -r "Explore in Superset" superset/搜索全代码库,确保所有匹配文件都已修改 - 重点检查Python文件、JS文件、模板文件、翻译文件等不同类型文件
- 执行
内容的提问来源于stack exchange,提问作者Angel Ortiz
相关产品推荐
相关产品推荐

