Я создаю панель управления для моего приложения bokeh, используя шаблон, аналогичный показанному здесь:
https://towardsdatascience.com/data-visualization-with-bokeh-in-python-part-iii-a-complete-dashboard-dc6a86aa6e23
По сути, я разделяю различные функции моего приложенияв различные сценарии, в которых есть функция, возвращающая объект Panel, содержащий макет для импорта, в объекте Tabs, определенный в моем файле main.py.
Например, это то, что возвращает мой сценарий read.py:
# First layout / plot
read_layout = bla.layout([firstColRaw,
secondColRaw,
bmo.Spacer(width=50),
thirdColRaw])
def read_tab():
tab = bmo.Panel(child=read_layout, title='Read in data')
return tab
Это то, что у меня есть на моем main.py:
from scripts.read import read_tab
# Tabs to select the app function
tab1 = read_tab()
nav_tabs = [tab1]
tabs = bmo.Tabs(tabs=nav_tabs, width=1500)
# Create the main layout
layout_main = bla.column(buttons,
tabs,
height=300,
width=1500)
# Put the tabs in the current document for display
doc.add_root(layout_main)
Я сталкиваюсь с проблемой при попытке обновить макет одной из вкладок.В этом конкретном примере я хотел бы динамически показать пользователю, сколько файлов необработанных данных загружается в среду.
В этом конкретном случае я изменяю содержимое переменной thirdColRaw, которая затем добавляет div к объекту макета.
Если я запускаю приложение, как показано выше, я не могу обновить содержимоеВкладки.Если, с другой стороны, я не использую вкладки, а просто загружаю read_layout из main.py и добавляю его в текущий документ, обновление макета работает просто отлично.
Означает ли это, чтоЯ не могу изменить / добавить / удалить компоненты компоновки панели динамически?Или я что-то не так делаю?
Спасибо!