我有两个模型,一个显示标记(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}}如何将所有现有的多边形和点添加到模板中上面的表单字段?
发布于 2018-01-25 20:00:40
您将需要使用JavaScript将几何图形添加到您的叶贴图中。您可以将它们作为geojson从另一个视图返回,也可以像这样扩展您的CreateView:
class PolygonCreateView(CreateView):
# ....
def all_polygons(self):
return MyPolygon.objects.all()并使用{{ view.all_polygons }}从您的模板访问它们。
https://stackoverflow.com/questions/48429968
复制相似问题