# The development of this code was sponsored by MIG Internacional # This code is released under the terms of the BSD license # http://code.djangoproject.com/browser/django/trunk/LICENSE # Feel free to use it at your whim/will/risk :D # Contact info: Javier Rojas class LocationWidget(forms.widgets.Widget): def __init__(self, *args, **kw): super(LocationWidget, self).__init__(*args, **kw) self.inner_widget = forms.widgets.HiddenInput() def render(self, name, value, *args, **kwargs): js = ''' ''' % dict(name=name) html = self.inner_widget.render("%s" % name, None, dict(id='%s_id' % name)) html += "
" % name return mark_safe(js+html) class LocationField(forms.Field): widget = LocationWidget def clean(self, value): a, b = value.split(',') lat, lng = float(a), float(b) return (lat, lng)