如何在散景服务器应用程序中替换当前文档?
我将之前的文档另存为json_string
。如果我做
set_curdoc(Document.from_json_string(json_string))
这似乎正确地改变了curdoc(),但是新文档没有显示在浏览器中。
答案 0 :(得分:0)
我找到了一个解决方法,其他地方建议更新现有布局的子代,而不是更新整个curdoc()。
我做到了,但是我必须从保存在json字符串中的文档中进行扩展。
我不得不将所有模型的document
属性从导入的文档切换到curdoc()(否则它会抱怨模型属于另一个文档)
假设我导入的文档和当前文档都只有一个根:
new_doc = Document.from_json_string(json_string)
new_grid_models = collect_models(new_doc.roots[0])
for elem in new_grid_models:
try:
elem.document = curdoc()
except AttributeError:
elem._document = curdoc()
new_children = new_doc.roots[0].children
del new_doc
grid.children = new_children
之后,需要将python回调重新影响到相应的导入模型。
我在这里贴了一个示例应用: save_and_load app on Bitbucket