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))