Jean-Zombie / django-location-field

Location field and widget for Django. It supports Google Maps, OpenStreetMap and Mapbox

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

logo

django-location-field

Let users pick locations using a map widget and store its latitude and longitude.

Stable version: django-location-field==2.1.0
Documentation: https://django-location-field.readthedocs.io/en/latest/
License: MIT

Status

Build Status Documentation Status Say Thanks!

Tests are performed with Python 2 and 3, Django 1.11 and 2, and SpatiaLite.

Features

  • Support for multiple map engines, like Google Maps, OpenStreetMap and Mapbox.
  • Support for multiple search engines, like Google, Nominatim and Yandex.
  • Works with both Spatial and non-Spatial databases.

Compatibility

  • Django >= 1.11
  • Python 2.7, 3.6, 3.7

Spatial Databases

  • PostGIS
  • SpatiaLite

Installation

  1. Install through pip (or manually place it on your PYTHONPATH).

    pip install django-location-field

  2. Add location_field.apps.DefaultConfig to INSTALLED_APPS your settings.py file

For example, PostGIS:

https://docs.djangoproject.com/en/dev/ref/contrib/gis/install/postgis/

Basic usage (using Spatial Database)

from django.contrib.gis.db import models
from django.contrib.gis.geos import Point
from location_field.models.spatial import LocationField

class Place(models.Model):
    city = models.CharField(max_length=255)
    location = LocationField(based_fields=['city'], zoom=7, default=Point(1.0, 1.0))

Basic usage (without Spatial Database)

from django.db import models
from location_field.models.plain import PlainLocationField

class Place(models.Model):
    city = models.CharField(max_length=255)
    location = PlainLocationField(based_fields=['city'], zoom=7)

Screenshot

Screenshot


Nick Frost has credit over the image used as logo for this project. CC BY

About

Location field and widget for Django. It supports Google Maps, OpenStreetMap and Mapbox

License:MIT License


Languages

Language:JavaScript 54.4%Language:Python 29.0%Language:CSS 16.0%Language:HTML 0.6%