当前位置: 首页 > news >正文

superset定制化配置修改总结

目录

前言

配置总结

1、需要想用iframe引入dashboard时, URL 参数可用于修改仪表板的呈现方式,standalone=0

2、如果对页面样式有调整,可以在修改dashboard的css属性

3、Superset联动过滤器配置展示

4、控制筛选器条(Filter Bar)水平布局的配置项

5、开放Superset提供的REST API swagger

6、CSV文件导出乱码问题

7、如何将Superset图表通过iframe嵌入Html网页

往期回顾


前言

Apache Superset作为一个功能强大的开源数据探索和可视化平台,提供了丰富的配置选项来定制化用户体验。下面是superset一些定制化配置,希望能帮到大家!

Superset官方文档:https://superset.apache.org/docs/intro

配置总结

1、需要想用iframe引入dashboard时, URL 参数可用于修改仪表板的呈现方式,standalone=0

属性枚举描述
standalone0仪表盘正常显示
1顶部导航已隐藏
2顶部导航 + 标题被隐藏
3顶部导航 + 标题 + 顶级标签被隐藏
show_filters0渲染没有过滤栏的仪表板
1(默认):如果启用了本机过滤器,则使用过滤栏呈现仪表板
expand_filters0呈现带有折叠过滤栏的仪表板
1呈现带有扩展过滤栏的仪表板

例如:当运行本地开发版本时,以下操作将禁用顶部导航并删除过滤栏: http://localhost:8088/superset/dashboard/my-dashboard/?standalone=1&show_filters=0

2、如果对页面样式有调整,可以在修改dashboard的css属性

3、Superset联动过滤器配置展示

  修改配置文件superset_config.py 使得superset可以联动查询

  FEATURE_FLAGS = {"DASHBOARD_NATIVE_FILTERS": True,"DASHBOARD_NATIVE_FILTERS_SET": True,"DASHBOARD_CROSS_FILTERS": True, "HORIZONTAL_FILTER_BAR": True // 是否支持横向过滤器展示}

可选择左侧栏展示或者横向展示,效果如下

4、控制筛选器条(Filter Bar)水平布局的配置项

默认情况下,Superset的筛选器条是垂直排列的,即筛选器以列的形式堆叠在仪表板或图表的左侧或右侧。而当配置项 HORIZONTAL_FILTER_BAR 被启用时,筛选器条将以水平的方式显示在仪表板的顶部或底部,以更好地适应特定的布局需求和用户偏好。

 配置前样式

修改配置 superset_config.py


FEATURE_FLAGS = {"HORIZONTAL_FILTER_BAR": True,
}

配置后

 5、开放Superset提供的REST API swagger

 修改配置文件superset_config.py

FAB_API_SWAGGER_UI = True

在路由/swagger/v1中启用 。

6、CSV文件导出乱码问题

  修改配置文件superset_config.py

CSV_EXPORT = {"encoding": "utf-8-sig"}

 7、如何将Superset图表通过iframe嵌入Html网页

 首先,superset在导航栏有Embed code,这个iframe代码就是自己制作的图表:

以下是iframe设置的一些参数:

属性描述
widthiframe的宽度
heightiframe的高度
nameiframe的名称
frameborder是否显示边框,0(不显示) 、1(显示)
srciframe的地址(页面/图片)
scrolling是否在iframe中显示滚动条,属性值(yes ,no,auto)
vspace设置或获取对象的水平边距
hspace设置或获取对象的垂直边距

 然后将我们的iframe代码插入Html,以下案例

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>如何将Superset图表通过iframe嵌入Html网页</title>
<body><iframewidth="100%"height="2000"seamlessframeBorder="0"scrolling="no"src="http://10.7.14.6:9000/superset/dashboard/09d97c0d-ee02-40e8-ba38-4bc5ec583a86/?standalone=2&permalink_key=Mr9v6pzJQ7l"
>
</iframe>
</body></html>

但是我们发现,展示出来页面显示需要跨域以及需要登录,那么对于游客怎么能看到我们给分享的图表信息呢? 那么我们就要解决跨域以及免登陆问题

superset是默认进入图表的用户为public类型,因此我们需要游客访问的public类型有图表的访问权限。官方给了解决方案,按以下几个步骤。

如有配置有变动请参考官方文档:Security Configurations | Superset

1.修改superset_config.py配置文件,将PUBLIC_ROLE_LIKE 设置为Gamma。

PUBLIC_ROLE_LIKE = "Gamma"

讲给予public与gamma相同权限级,以后就可以在角色列表添加权限了。

2.去掉X-Frame-Options限制

HTTP_HEADERS = {}

讲给予public与gamma相同权限级,以后就可以在角色列表添加权限了。

3. WTF_CSRF_ENABLED设置为False 

WTF_CSRF_ENABLED = False

4.添加Public角色权限

 加入权限

权限的具体解释说明,参考官方文档:superset/RESOURCES/STANDARD_ROLES.md at master · apache/superset · GitHub  

效果如下

 

成功嵌入,YYDS! 欢迎在评论区交流。

如果文章对你有所帮助,❤️关注+点赞❤️鼓励一下博主会持续更新。。。。

往期回顾

 CSS多栏布局-两栏布局和三栏布局

 border边框影响布局解决方案

 css 设置字体渐变色和阴影

css 重置样式表(Normalize.css)

 css实现元素居中的6种方法 

Angular8升级至Angular13遇到的问题

前端vscode必备插件(强烈推荐)

Webpack性能优化

vite构建如何兼容低版本浏览器

前端性能优化9大策略(面试一网打尽)!

vue3.x使用prerender-spa-plugin预渲染达到SEO优化

 vite构建打包性能优化

 vue3.x使用prerender-spa-plugin预渲染达到SEO优化

 ES6实用的技巧和方法有哪些?

 css超出部分显示省略号

vue3使用i18n 实现国际化

vue3中使用prismjs或者highlight.js实现代码高亮

什么是 XSS 攻击?什么是 CSRF?什么是点击劫持?如何防御

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • AI安全-文生图
  • Python酷库之旅-第三方库Pandas(081)
  • 《编程学习笔记之道:构建知识宝库的秘诀》
  • Mocha测试框架:JavaScript自动化测试的瑞士军刀
  • 【教程】Ubuntu给pycharm添加侧边栏快捷方式
  • 如何在 Odoo 16 会计中向发票添加付款二维码
  • Tkinter教程
  • 微信支付流程
  • 【实现100个unity特效之22】unity用Particle粒子系统制作2d龙卷风特效效果
  • 【Rust】使用开源项目搭建瓦片地图服务
  • xcode14.2学习笔记 swift5开发macos网络程序笔记
  • CPU缓存一致性机制详解
  • 我的第一个CUDA程序
  • AI大模型入门基础教程(非常详细),AI大模型入门到精通,收藏这一篇就够了!
  • C# MaterialDesign抽屉式风格
  • [ 一起学React系列 -- 8 ] React中的文件上传
  • [译]如何构建服务器端web组件,为何要构建?
  • 【JavaScript】通过闭包创建具有私有属性的实例对象
  • 【Under-the-hood-ReactJS-Part0】React源码解读
  • 2017-08-04 前端日报
  • Angular数据绑定机制
  • Docker 笔记(1):介绍、镜像、容器及其基本操作
  • HashMap ConcurrentHashMap
  • input的行数自动增减
  • JDK 6和JDK 7中的substring()方法
  • JS专题之继承
  • Mysql优化
  • node.js
  • RxJS 实现摩斯密码(Morse) 【内附脑图】
  • Spring核心 Bean的高级装配
  • SQL 难点解决:记录的引用
  • text-decoration与color属性
  • Vue.js源码(2):初探List Rendering
  • 关于 Cirru Editor 存储格式
  • ------- 计算机网络基础
  • 开源地图数据可视化库——mapnik
  • 漫谈开发设计中的一些“原则”及“设计哲学”
  • 浅谈web中前端模板引擎的使用
  • 深入浅出webpack学习(1)--核心概念
  • 写代码的正确姿势
  • 优秀架构师必须掌握的架构思维
  • 宾利慕尚创始人典藏版国内首秀,2025年前实现全系车型电动化 | 2019上海车展 ...
  • 带你开发类似Pokemon Go的AR游戏
  • ​【数据结构与算法】冒泡排序:简单易懂的排序算法解析
  • #define MODIFY_REG(REG, CLEARMASK, SETMASK)
  • #Linux(Source Insight安装及工程建立)
  • #pragma once与条件编译
  • #QT 笔记一
  • #ubuntu# #git# repository git config --global --add safe.directory
  • #Z0458. 树的中心2
  • $.proxy和$.extend
  • (a /b)*c的值
  • (html转换)StringEscapeUtils类的转义与反转义方法
  • (zt)最盛行的警世狂言(爆笑)
  • (不用互三)AI绘画:科技赋能艺术的崭新时代