我想为Flask Admin创建一个视图,以便在几何体字段中输入坐标。如何创建两个textfield并将它们转换为Geometry对象?在
这是我迄今为止所做的(除了数不清的其他事情)
class CustomAdminConverter(AdminModelConverter):
@converts('geoalchemy2.types.Geometry')
def convert_geometry(self, field_args, **extra):
return WayToCoordinatesField(**field_args)
class WayToCoordinatesField(wtf.TextAreaField):
def process_data(self, value):
print "run" #is never called??
if value is None:
value = {}
else:
value = "test"
return value
class POIView(ModelView):
inline_model_form_converter = MyInlineModelConverter
model_form_converter=CustomAdminConverter
can_create = True
def __init__(self, session, **kwargs):
# You can pass name and other parameters if you want to
super(POIView, self).__init__(POI, session, **kwargs)
def scaffold_form(self):
form_class = super(POIView, self).scaffold_form()
form_class.way = wtf.TextAreaField("Coordinates")
return form_class
POI对象如下所示:
^{pr2}$非常感谢你的帮助!在
从Flask Admin的1.0.9版开始,它现在支持Geoalchemy2几何列(以及1.1.0中添加的geographic列)。在
最大的变化是从
flask-admin.contrib.geoa
导入ModelView
,而不是flask-admin.contrib.sqla
,因此一个简单的模型如下所示:在列表视图中,将显示一个小的预览地图,然后显示一个传单。抽签在“编辑”或“创建视图”中查看。在
对于直线或复杂多边形,您可能需要用
^{pr2}$form_widget_args
覆盖ModelView
,以获得更合理大小的编辑空间。在找到了一个交互式地图的解决方案。 以下是我所做的:
管理员/py字段公司名称:
模板/管理员/管理员_地图.html在
^{pr2}$管理员/视图.py在
管理员/模型.py在
相关问题 更多 >
编程相关推荐