Form fields¶
There are two type of form fields, the PlainLocationField for non-spatial
databases and the LocationField for
spatial databases like PostGIS and SpatiaLite.
The attributes that can be passed to both form fields are:
| Attribute | Description |
|---|---|
| based_fields | A list of fields that will be used to populate the location field |
| zoom | The default zoom level for the map |
| suffix | A suffix that will be added to the search string, like a city name. Useful when you want to restrict the search to determined areas. |
For non-spatial databases¶
For non-spatial databases you may want to use the PlainLocationField,
which stores the latitude and longitude values as plain text.
Example:
from django import forms
from location_field.forms.plain import PlainLocationField
class Address(forms.Form):
city = forms.CharField()
location = PlainLocationField(based_fields=['city'],
initial='-22.2876834,-49.1607606')
For spatial databases¶
For spatial databases like PostGIS and SpatiaLite you may want to use
the LocationField, which stores the latitude and longitude values as a
Point
object.
Example:
from django import forms
from django.contrib.gis.geos import Point
from location_field.forms.spatial import LocationField
class Address(forms.Form):
city = forms.CharField()
location = LocationField(based_fields=['city'],
initial=Point(-49.1607606, -22.2876834))