在Alert和Report中添加以下代码,即可实现完整截取屏幕截图:
from flask_appbuilder import expose
from superset.views.core import BaseSupersetView
class CustomSupersetView(BaseSupersetView):
@expose('/full_screenshot/')
def full_screenshot(self):
...
return self.render_template(
'superset/full_screenshot.html',
url=data['url'],
image_url=result['image_url']
)
此外,还需要创建一个名为'full_screenshot.html”的HTML模板,代码如下:
{% extends "superset/basic.html" %}
{% block content %}
Warning!
This is a full page screenshot, please refer to the download link below.
It may be slow due to the nature of full page screenshot generation.
{% endblock %}
最后,在Alert或Report配置中使用这个新的View即可。