Django-Leaflet在表单上显示自定义图层

时间:2018-01-24 19:11:52

标签: javascript django django-forms leaflet geodjango

我有两个模型,一个显示标记(PointField),另一个生成PolygonFields。

在我看来,我可以完美地显示地图上的所有数据。 但是,我想在创建新几何体时显示相同的数据。问题是,如何将标记和polygonField数据覆盖为表单中的图层。

模型

class MyPolygon(gis_models.Model):
    geom    = gis_models.PolygonField()
    objects = gis_models.GeoManager()

class MyPoints(gis_models.Model):
    geom    = gis_models.PolygonField()
    objects = gis_models.GeoManager()

视图

class PolygonCreateView(CreateView):
    form_class = PolygonForm
    template_name = 'applications/create_polygon.html'
    success_url = '/applications/polygon'

def view_polygon(request):
    polygons= ReserveAirspace.objects.all()
    return render(request, 'applications/polygons.html',{'polygons':polygons})

同样适用于这些要点。

HTML

{{form.geom}}

如何将所有现有的多边形和点添加到模板???中的表单字段

1 个答案:

答案 0 :(得分:0)

您需要使用JavaScript将几何图形添加到传单地图中。您可以将其作为geojson从其他视图返回,也可以像这样扩展CreateView:

class PolygonCreateView(CreateView):
    # ....
    def all_polygons(self):
        return MyPolygon.objects.all()

并使用{{ view.all_polygons }}从您的模板访问它们。

相关问题