Если вы собираетесь использовать регулярно обновляемые данные (без обновления страницы) и форматы сериализации, такие как geoJSON и KML, django-olwidget не очень поможет вам прямо из коробки. Возможно, вам будет проще использовать OpenLayers с нуля.
Но если вы действительно хотите использовать django-olwidget, вот что я бы сделал:
- Подкласс olwidget.InfoLayer для создания нового типа векторного слоя, который использует собственный сетевой формат, такой как geoJSON или KML, для получения своих данных.
- Добавьте соответствующий подкласс python , чтобы иметь возможность использовать его с формами Django или любым другим вариантом использования. Возможно, вам потребуется указать такие вещи, как URL-адрес, с которого карта будет опрашивать свои данные.
Это большая работа помимо написания непосредственно для OpenLayers. Преимущество будет в том, что вы получите простую интеграцию форм Django с той же картой.
Относительно того, какой формат сериализации использовать: я неравнодушен к JSON-вариантам по XML-вариантам, таким как KML, но это не имеет большого значения - Django и OpenLayers оба говорят свободно и свободно.