Добавление всплывающей информации Folium в таблицу рядом с картой

Я создаю сайт с картами, используя Pandas, Django и Folium, с всплывающими окнами, отображающими информацию о серверах в локациях.

Я хочу включить всю информацию, которая будет отображаться на всплывающем окне рядом с картой, в таблицу. Вот пример всплывающего окна

Я хочу, чтобы это было в таблице, как это table view

В настоящее время таблица представляет собой цикл for, итерирующий по датафрейму pandas. Но при этом отображается каждая строка в датафрейме, а не информация о конкретном маркере, как это делает всплывающее окно.

Код выглядит следующим образом:

locations = Location.objects.values()
loc_data = pd.DataFrame(locations)
for index, location_info in loc_data.iterrows():

        # Popup design through Iframe - html variable contains basic html to redesign the popup
    html=f"""
        <h1>{location_info['hostname']}</h1>
        <p>Node Attributes:
        <ul>
        <li>Structure Name: {location_info["structurename"]}</li>
        <li>Domain: {location_info["domain"]}</li>
        <li>IP Address: {location_info["ip"]}</li>
        <li>Persona: {location_info["personas"]}</li>
        </ul>
        {location_info["cube"]}
        </p>
        <a href={location_info["cubeurl"]} target = "_blank">Login to cube</a>
        """

    # Initialise the iframe as a variable and set the popup to be the iframe
    iframe = folium.IFrame(html=html, width=350, height=270)
    popup = folium.Popup(iframe, max_width=2650)

    # Add Markers to the map based on criteria
    if location_info["cube"] == "Industrial Cube North":
        folium.Marker([location_info["latitude"], location_info["longitude"]], popup=popup, icon=folium.Icon(color='darkred'), tooltip=f'''{location_info["hostname"]}''').add_to(m)
    elif location_info["cube"] == "Industrial Cube South":
        folium.Marker([location_info["latitude"], location_info["longitude"]], popup=popup, icon=folium.Icon(color='green'), tooltip=f'''{location_info["hostname"]}''').add_to(m)

m=m._repr_html_() #updated
context = {'map': m, 'loc_data': loc_data}

return render(request, 'maps/map.html', context)

Это мой html шаблон Django: template

Я думаю, что для отображения ему нужен какой-то слушатель событий при нажатии? Возможно ли это? Есть ли у кого-нибудь какие-нибудь указания?

EDIT - Я пробовал передать всплывающее окно контексту, но он не итерируемый... Я также пробовал iframe, но он отображает экран ошибки подключения

Вернуться на верх