2017-09-29 41 views
0

如何在散景服務器應用程序中替換當前文檔?如何替換curdoc

我以前的文檔保存爲json_string。如果我這樣做

set_curdoc(Document.from_json_string(json_string)) 

這似乎正確地更改curdoc(),但新文檔不顯示在瀏覽器中。

回答

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 

之後蟒蛇回調需要重新影響到相應的進口車型。

我在此舉了一個示例應用程序: save_and_load app on Bitbucket