django-treasuremap app, makes it easy to store and display the location on the map using different providers (Google, Yandex).
Project description
django-treasuremap
django-treasuremap app, makes it easy to store and display the location on the map using different providers (Google, Yandex, etc).
Requirements
- Python 2.7+ or Python 3.4+
- Django 1.11+
Installation
Use your favorite Python package manager to install the app from PyPI, e.g.
Example:
pip install django-treasuremap
Add treasuremap to INSTALLED_APPS:
Example:
INSTALLED_APPS = ( ... 'treasuremap', ... )
Configuration
Within your settings.py, you’ll need to add a setting (which backend to use, etc).
Example:
TREASURE_MAP = { 'BACKEND': 'treasuremap.backends.google.GoogleMapBackend', 'API_KEY': 'Your API key', 'SIZE': (400, 600), 'MAP_OPTIONS': { 'zoom': 5 } }
Example usage
In models
from django.db import models from treasuremap.fields import LatLongField class Post(models.Model): name = models.CharField(max_length=100) point = LatLongField(blank=True)
In admin
from django.contrib import admin from treasuremap.widgets import AdminMapWidget from .models import Post @admin.register(Post) class PostAdmin(admin.ModelAdmin): def formfield_for_dbfield(self, db_field, **kwargs): if db_field.name == 'point': kwargs['widget'] = widgets.AdminMapWidget() return super(PostAdmin,self).formfield_for_dbfield(db_field,**kwargs)
In forms
from django import forms from treasuremap.forms import LatLongField class PostForm(models.Model): point = LatLongField()
<head> ... <!-- jQuery is required; include if need --> <script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script> ... </head> <form method="POST" action="."> {{ form.media }} {% csrf_token %} {{ form.as_p }} </form>
Depending on what backend you are using, the correct widget will be displayed with a marker at the currently position (jQuery is required).
Settings
Support map:
- Google map treasuremap.backends.google.GoogleMapBackend
- Yandex map treasuremap.backends.yandex.YandexMapBackend
Other settings:
- API_KEY - if need, default None
- SIZE - tuple with the size of the map, default (400, 400)
- ONLY_MAP - hide field lat/long, default True
- MAP_OPTIONS - dict, used to initialize the map, default {'latitude': 51.562519, 'longitude': -1.603156, 'zoom': 5}. latitude and longitude is required, do not use other “LatLong Object”.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Filename, size | File type | Python version | Upload date | Hashes |
---|---|---|---|---|
Filename, size django_treasuremap-0.3.2-py2.py3-none-any.whl (14.5 kB) | File type Wheel | Python version py2.py3 | Upload date | Hashes View |
Filename, size django-treasuremap-0.3.2.tar.gz (10.4 kB) | File type Source | Python version None | Upload date | Hashes View |
Hashes for django_treasuremap-0.3.2-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0423985e4031c3f5eda688efb4978ef72d3cf0d7771b5dddc391590ed05679dc |
|
MD5 | f98734f84180e790ab2876b4976456a6 |
|
BLAKE2-256 | 824acd30154428b4733d634d00ebe2bdbd7e2a6faaaefae4b6ccef640382e2ce |