Python Django中未显示嵌入式Bokeh数据表

Python Django中未显示嵌入式Bokeh数据表,python,django,datatable,bokeh,Python,Django,Datatable,Bokeh,我开发了一个Django web应用程序,显示Bokeh生成的交互式地图,并使用“components”(来自Bokeh.embed)以script/div的形式发送到模板。所有项目(图、滑块、标题)均正确显示,但DataTable除外,我可以在独立文档或Jupyter中显示DataTable,但不能使用“组件” 我读过,和其他线程,它们帮助我修复了JS/CSS链接,但对我的问题没有帮助 阅读后,我尝试将DataTable包装到不同的模块中,如Panel、WidgetBox等,但没有成功。为了简

我开发了一个Django web应用程序,显示Bokeh生成的交互式地图,并使用“components”(来自Bokeh.embed)以script/div的形式发送到模板。所有项目(图、滑块、标题)均正确显示,但DataTable除外,我可以在独立文档或Jupyter中显示DataTable,但不能使用“组件”

我读过,和其他线程,它们帮助我修复了JS/CSS链接,但对我的问题没有帮助

阅读后,我尝试将DataTable包装到不同的模块中,如Panel、WidgetBox等,但没有成功。为了简单起见,我使用没有数据链接的示例数据在单独的Django视图中生成表,并创建了一个单独的模板

我现在已经没有主意了。我知道Bokeh中的小部件存在渲染问题,所以我猜我的问题可能与这些问题有关,但更可能与我缺乏知识有关。代码如下

DJANGO视图

def datatable_test(request):

data = dict(
    dates=[date(2014, 3, i + 1) for i in range(10)],
    downloads=[randint(0, 100) for i in range(10)],
)
source = ColumnDataSource(data)

columns = [
    TableColumn(field="dates", title="Date", formatter=DateFormatter()),
    TableColumn(field="downloads", title="Downloads"),
]

data_table_mth = DataTable(source=source, columns=columns, width=400, height=280)

layout = column(
    Spacer(width=100),
    WidgetBox(data_table_mth),
    )

script_table, div_table = components(layout)
output_file("DATATABLE TEST.html")
show(layout)

return render(request, 'integrated/datatable_test.html', {'script_table': script_table,'div_table': div_table})
DJANGO模板


{%block title%}{%endblock%}
{{script_table}安全}
{{div_table | safe}}

正如bigreddot所建议的,我打开了浏览器控制台,当DataTable嵌入到其原始视图/模板中时,显示了以下错误消息:


浏览器的javascript控制台中是否报告了任何错误?这很尴尬,它现在正在使用单独的模板和单独的视图工作,但不是作为原始视图/模板的一部分。让我再深入一点。如果您设置了
reorderable=True
,您需要自己手动加载jq库。这在某些地方有记录,但可能还不够突出。也许您的另一个模板确实加载了它,而新模板没有。或者,在另一种情况下,您可能没有启用可重排序的
reorderable
。我发现了错误:我没有正确加载jQuery脚本链接。使用Ajax链接至少部分解决了这个问题。现在显示数据表。我还有其他问题,但通过浏览器的控制台和谷歌,我会找到解决办法。我认为对于Bokeh中的DataTable,
reorderable
默认设置为True,这就是我需要它的方式。我该怎么感谢你呢?