使用带有elementtree的散景组件

时间:2017-01-31 21:50:25

标签: python elementtree bokeh

我正在使用散景component来获取scriptdiv标记,以便在html报告中嵌入图表。该报告使用elementtree构建。

问题是componentscriptdiv作为字符串返回,这意味着我无法方便地使用SubElement来制作相应的元素。如果您直接写入文件,这些字符串可以正常工作,但我仍然使用etree来解析字符串并确定属性。感觉很笨重。

有没有其他人遇到这个?如果有一种方法可以让组件返回两个字典,那将是很好的,如下所示:

script = {
    tag='script',
    type='text/javascript',
    data=#script contents here
}

id= {
    tag='div',
    class='bk-root',
    id='6c76dbfe-52ec-4388-b408-a3142466196e'
}

1 个答案:

答案 0 :(得分:2)

最好检查reference documentationcomponents已有关键字参数标志,以便将信息作为原始数据提供,而不是HTML标记:

wrap_script (boolean, optional) :
    If True, the returned javascript is wrapped in a script tag.
    (default: True)

wrap_plot_info (boolean, optional) : If True, returns ``<div>`` strings.
    Otherwise, return dicts that can be used to build your own divs.
    (default: True)

    If False, the returned dictionary contains the following information:

    {
        'modelid':  'The model ID, used with Document.get_model_by_id',
        'elementid': 'The css identifier the BokehJS will look for to target the plot',
        'docid': 'Used by Bokeh to find the doc embedded in the returned script',
    }