django-places
A Django app for store places with autocomplete function and a related map to the selected place.
Quickstart
Install dj-places
and add it to your installed apps:
$ pip install dj-places
INSTALLED_APPS = (
...
'places',
...
)
Add the following settings and maps api key (read more here):
PLACES_MAPS_API_KEY='YourAwesomeUltraSecretKey'
PLACES_MAP_WIDGET_HEIGHT=480
PLACES_MAP_OPTIONS='{"center": { "lat": 38.971584, "lng": -95.235072 }, "zoom": 10}'
PLACES_MARKER_OPTIONS='{"draggable": true}'
Usage
Then use it in a project:
from django.db import models
from places.fields import PlacesField
class MyLocationModel(models.Model):
location = PlacesField()
This enables the following API:
>>> from myapp.models import ModelName
>>> poi = ModelName.objects.get(id=1)
>>> poi.position
Place('Metrocentro, Managua, Nicaragua', 52.522906, 13.41156)
>>> poi.position.place
'Metrocentro, Managua, Nicaragua'
>>> poi.position.latitude
52.522906
>>> poi.position.longitude
13.41156
For using outside the Django Admin:
<form method="post">
{% csrf_token %}
{{ form.as_p }}
<input type="submit" value="Save">
{{ form.media }}
</form>
Remember to add the {{ form.media }}
in your template.
Demo
Credits
Tools used in rendering this package:
- Cookiecutter
- cookiecutter-djangopackage
- jquery-geocomplete (no longer used in the project.)