bokehサーバーアプリケーションで現在のドキュメントを置き換えるにはどうすればよいですか?curdocの交換方法
私は以前の文書をjson_string
として保存しました。私がしている場合
これはcurdoc()を正しく変更しているようですが、新しい文書はブラウザに表示されません。
bokehサーバーアプリケーションで現在のドキュメントを置き換えるにはどうすればよいですか?curdocの交換方法
私は以前の文書をjson_string
として保存しました。私がしている場合
これはcurdoc()を正しく変更しているようですが、新しい文書はブラウザに表示されません。
回避策を見つけましたが、他の場所では、curdoc()全体を更新するのではなく、既存のレイアウトの子を更新することをお勧めします。
私はそれを行いましたが、json文字列に保存されたドキュメントからこれを行うには少し拡張する必要がありました。
私はインポート文書と現在の文書のことを仮定して(それ以外の場合は、モデルが別の文書に属していると文句を言います)の代わりに)(curdocにインポートドキュメントからすべてのモデルのdocument
属性を切り替える
を持っていましたどちらもルートが1つしかありません:
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