MCPcopy
hub / github.com/django/django / get_context

Method get_context

django/contrib/gis/forms/widgets.py:44–70  ·  view source on GitHub ↗
(self, name, value, attrs)

Source from the content-addressed store, hash-verified

42 return None
43
44 def get_context(self, name, value, attrs):
45 context = super().get_context(name, value, attrs)
46 # If a string reaches here (via a validation error on another
47 # field) then just reconstruct the Geometry.
48 if value and isinstance(value, str):
49 value = self.deserialize(value)
50
51 if value:
52 # Check that srid of value and map match
53 if value.srid and value.srid != self.map_srid:
54 try:
55 ogr = value.ogr
56 ogr.transform(self.map_srid)
57 value = ogr
58 except gdal.GDALException as err:
59 logger.error(
60 "Error transforming geometry from srid '%s' to srid '%s' (%s)",
61 value.srid,
62 self.map_srid,
63 err,
64 )
65 context["serialized"] = self.serialize(value)
66 geom_type = gdal.OGRGeomType(self.attrs["geom_type"]).name
67 context["widget"]["attrs"]["geom_name"] = (
68 "Geometry" if geom_type == "Unknown" else geom_type
69 )
70 return context
71
72
73class OpenLayersWidget(BaseGeometryWidget):

Callers 1

Calls 4

deserializeMethod · 0.95
serializeMethod · 0.95
transformMethod · 0.45
errorMethod · 0.45

Tested by 1