Use Leaflet in your django projects
Project description
Django Leaflet
See the documentation for more information.
django-leaflet allows you to use Leaflet in your Django projects.
It embeds Leaflet version 1.9.3.
Main purposes of having a python package for the Leaflet Javascript library :
Install and enjoy ;
Do not embed Leaflet assets in every Django project ;
Enjoy geometry edition with Leaflet form widget ;
Control apparence and settings of maps from Django settings (e.g. at deployment) ;
Reuse Leaflet map initialization code (e.g. local projections) ;
- note:
django-leaflet is compatible with django-geojson fields, which allow handling geographic data without spatial database.
LICENSE
Lesser GNU Public License
Leaflet Copyright - 2010-2011 CloudMade, Vladimir Agafonkin
CHANGELOG
0.31.0 (2024-10-14)
Fix icon control.
Fix JS error if with-forms does not exists #379 #380
Support Django 5.1.
Drop support for Django < 4.2.
Avoid defining imgPathElement globally #384
Remove forms dependency on ‘extras’ #385
Pass with_forms to leaflet_draw_i18n template #387
0.30.1 (2024-06-17)
Change OSM tile link to unified format #375
Remove debug print added in #371 #377
Removed obsolete leaflet-src.map file #376
0.30.0 (2024-05-13)
0.29.1 (2024-03-11)
Upgrade embedded Leaflet to 1.9.3.
0.29.0 (2023-05-02)
Support Django 4.0, 4.1 and 4.2, and Python 3.10 and 3.11.
Drop support for Django < 3.2 and Python < 3.7.
Removed map_width / map_height. Moved CSS and height/width to custom CSS file #363
0.28.3 (2022-06-08)
Fix #346: distutils has been deprecated in Python 3.10.
Change DEFAULT_TILES attribution to HTTPS #348
Remove memoizing static URLs #351
0.28.2 (2021-10-25)
Fix field_store_class usage in map template.
0.28.1 (2021-06-07)
Upgrade Leaflet to 1.7.1.
Deprecate ‘LeafletWidget._get_attrs’ in favor of ‘LeafletWidget.get_attrs’
0.28.0 (2021-04-15)
Support Django 3.1 and 3.2.
Drop support for Django 1.11, 2.0, and 2.1.
translate to persian #313
0.27.1 (2020-07-31)
Replace link to geojsonlint.com with geojson.io. #298
0.27.0 (2020-07-03)
Drop support for Django < 1.11 and Python 2
Upgrade proj4js to 2.6.1 and Proj4Leaflet to 1.0.2 (#287)
Update Czech translations, add Slovak translations #269
Add Arabic translation #274
Precision fixes #280 #291
Display the map on mobile (Fixes #241) #292
Updated Leaflet to 1.6.0
0.26.0 (2019-12-06)
Django 3.0 compatibility
0.25.0 (2019-10-18)
#225 changes in staticfiles for django 1.11.14
#247 Allow resizing of raw Geometry textbox input via CSS, improve label, add docs
#108 Add examples to docs on adding overlays, customising maps in templates, admin and forms
#248 Allow use of a custom widget in the Admin. (fixes #151)
#261 Add request to formfield_for_dbfield signature; fix #260
#262 Fix Missing staticfiles manifest entry for ‘leaflet/images’
0.24.0 (2018-06-07)
Updated Leaflet to 1.3.1
0.23.0 (2017-11-28)
Fix fatal bug with Django => 1.11.2 for non-GIS databases
fixes #188 Better replace for icon image
Add Russian translation
Add Hungarian translation
Allow storing global leaflet map instances
0.22.0 (2017-04-06)
Set a default max zoom in leaflet.forms _setView to avoid an error.
Fix the div ids to work with admin inlines.
Django 1.11 compatibility
Fix multipolyline/multipolygon and polyline/polygon not working
0.21.0 (2017-02-28)
Update leaflet.draw and fix a packaging and a javascript bug
0.20.0 (2017-01-27)
New features
Update Leaflet to 1.0.3 (#169)
Update Leaflet-draw to 0.4.0 (#169)
Update Proj4Leaflet to 1.0.0 (#169)
Made static calls lazy, to fix issues with non-default STATICFILES_STORAGE (#149)
Add example application (#168)
Bug fixes
Use SpatiaLite library path from environment variable for running test (#173)
Fix max zoom level (#165)
Add SPATIAL_EXTENT default value to the default settings (#167)
Many thanks to @KostyaEsmukov, @cleder, @sikmir and @seav for their contributions!
0.19.0 (2016-08-22)
New features
Added leaflet.admin.LeafletGeoAdminMixin, useful for stacked or tabular inline forms (thanks @KostyaEsmukov, @Xowap)
0.18.2 (2016-08-16)
Fix compatibility with Django <= 1.7
0.18.1 (2016-04-07)
If the TILES setting contains an empty list, no default tiles layer is generated (thanks @dyve).
Fix to allow multipoints saving (fixes #130, thanks @rukayaj)
Fix settings override (#142, thanks @ndufrane)
Fix for templatetags.leflet_js debug setting (#148, thanks @arctelix)
Fixes for Django 1.10 compatibility (#138, thanks @PetrDiouhy)
0.18.0 (2016-01-04)
New features
Use a LazyEncoder to allow lazy translations in settings (#132, thanks @Mactory)
Enable settings_overrides also for admin (fixes #120, thanks @PetrDiouhy)
Add tests for Django 1.9 and Python 3.5 (thanks @itbabu)
Bug fixes
Fix LeafletWidget behaviour on GeometryCollectionField (fixes #135)
0.17.1 (2015-12-16)
Update Leaflet to 0.7.7
Update Leaflet-draw to 0.2.4
Fix rendering of leaflet widget when initial value is an empty string
0.17.0 (2015-11-11)
New features
Pass relative URLs for static files through django.contrib.staticfiles (thanks @dyve, fixes #111)
Allow to override settings at the template tag level (thanks @PetrDiouhy, fixes #59)
Update Leaflet to 0.7.5 (@dyve)
Add Czech locale (thanks @PetrDiouhy)
Bug fixes
Fix interaction with django-geojson (#106, thanks @batisteo)
Use protocol independant URLs in default OSM tiles (thanks @NotSqrt)
Fix deprecated TEMPLATE_DEBUG (#121, thanks @josenaka)
Fix errors with multi-word field names (#123, thanks @josemazo)
Fix loadevent not being taken into account in forms (#127, thanks @josemazo)
0.16.0 (2015-04-17)
New features
Add setting FORCE_IMAGE_PATH to bypass Leaflet guess on image paths (useful when using django-compressor) (thanks @nimasmi)
Add Hebrew translations (thanks @nonZero)
Map attribution can be translated using ugettext_lazy
Bug fixes
Fix widgets hanging forever with points (thanks @Azimkhan, fixes #90)
Remove setTimeout when calling setView() (thanks @manelclos, fixes #89)
Fix minZoom/maxZoom when undefined in settings (thanks Manel Clos)
0.15.2 (2014-12-22)
Allow to set any leaflet tileLayer option in TILES and OVERLAYS settings (fixes #70).
0.15.1 (2014-12-04)
Remove special characters in README (fixes #82)
Fix translation in French (fixes #86)
Fix es localization
0.15.0 (2014-10-24)
Add ability to add overlay tile layers via new setting OVERLAYS.
0.14.2 (2014-10-24)
Fix Django 1.7 support in tests (thanks Marco Badan)
Add spanish translations (thanks David Martinez)
0.14.1 (2014-07-30)
Fix draw events being received for each draw control on the map. (Caution: map.drawControl attribute is not set anymore)
0.14.0 (2014-07-29)
Fix GeoJSON serialization when creating new MultiPoint records
Make the only layer match the map max/min_zoom (fixes #67) (thanks Manel Clos)
Added widget attribute to edit several fields on the same map
0.13.7 (2014-06-26)
Fix typo in default proj4js path (ref #71)
0.13.6 (2014-06-26)
Setup Projection machinery in Leaflet forms if necessary
Django Leaflet forms fiels without libgeos installed (thanks Florent Lebreton)
0.13.5 (2014-06-18)
Prevent SRID download when default is used
0.13.4 (2014-06-13)
Fix SRID projection file not being loaded
0.13.3 (2014-06-10)
Upgrade to Leaflet 0.7.3
0.13.2 (2014-04-15)
Fix regression where maps have null as max zoom
0.13.1 (2014-04-10)
Fix GEOS dependency, back as optional for geometry edition only (fixes #65)
Add minZoom and maxZoom to map initialization
Add support of advanced static files locations, like S3 (thanks @jnm)
0.13.0 (2014-03-26)
Add support of Leaflet form fields on Django >= 1.4.2 (thanks GaÄŤl Utard)
0.12 (2014-03-22)
Add support of GeoJSON fields
0.11.1 (2014-02-12)
Do not complain about tile extent if SRID is 3857
0.11.0 (2014-02-07)
Add control of metric and imperial in SCALE option (thanks @smcoll)
Upgrade to Leaflet.draw 0.2.3
0.10.1 (2014-02-03)
Upgrade to Leaflet 0.7.2
0.10.0 (2014-01-22)
Python 3 support (thanks @itbabu)
Added JavaScript test using Mocha
0.9.0 (2013-12-11)
Upgrade to Leaflet 0.7.1
Fix unsaved warning being always triggered on Internet Explorer.
Added DE locale (thanks @rosscdh)
Fix installation with python 2.6 (thanks @ollb)
0.8.5 (2013-11-05)
Fix name collision.
0.8.4 (2013-11-05)
Fix regression in Django leaflet options serialization.
0.8.3 (2013-11-05)
Switch to lazy gettext in leaflet module init.
0.8.2 (2013-10-31)
Fix drawing of multi-polygon (fixes #37)
Fix attached data for events with jQuery fallback (fixes #38)
Fix Javascript syntax errors when using form prefixes (fixes #40)
0.8.1 (2013-09-30)
Fix Leaflet library inclusion with “plugins=ALL” outside Admin.
Do not include translations in every widgets outside Admin.
Fix syntax error if form widget translations contains quotes.
Fix dependency error if Leaflet is loaded after the form widget in the DOM.
Respect plugins declaration order using OrderedDicts
Prepend forms assets (instead of extend) if PLUGINS[‘forms’] already exists.
0.8.0 (2013-09-18)
Renamed Leaflet map fragment template
Leaflet map geometry widgets for adminsite and forms (requires Django 1.6)
Fix geometry type restriction in form fields (fixes #32)
Use jQuery for triggering events, only if CustomEvent constructor is not available (fixes #27, fixes #34)
0.7.4 (2013-08-28)
Fix projection download error if not available
Compute resolutions the same way TileCache does it, and provide example of TileCache configuration.
Raise ImproperlyConfigured if TILES_EXTENT is not portrait (since not supported)
0.7.3 (2013-08-23)
Do not use console() to warn about deprecated stuff if not available (<IE9)
Fix apparence of Reset view control for Leaflet 0.6
Add French and Italian locales
0.7.2 (2013-08-23)
Fix JS error when no callback value is provided.
0.7.1 (2013-08-21)
Fix map initialization with default tiles setting
Fix map fitBounds() to SPATIAL_EXTENT in settings
0.7.0 (2013-08-21)
Breaking changes
The leaflet_map template tag no longer registers initialization functions in global scope, and no longer adds map objects into window.maps array by default. Use LEAFLET_CONFIG['NO_GLOBALS'] = False to restore these features.
Initialization callback function no longer receives the map bounds in second argument, but the map options object.
Deprecated
JS default callback function ( <name>Init() ) for map initialization is deprecated. Use explicit callback parameter in template tag, or listen to window event map:init instead. (See Use Leaflet API section in README.)
TILES_URL entry in LEAFLET_CONFIG is deprecated. Use TILES instead.
Settings lookup is restricted to LEAFLET_CONFIG dict. Most notably, SRID, MAP_SRID and SPATIAL_EXTENT at global Django settings level are discouraged.
New features
Add ability to associate layers attributions from settings
Add auto-include key for entries in PLUGINS setting, in order to implicity load plugins with leaflet_css and leaflet_js tags.
Rewrote map initialization, into less flexible and obstruvise way.
Use plugin system for Leaflet.MiniMap.
Add loadevent parameter to leaflet_map tag.
Map initialization is now idempotent, does nothing if map is already initialized.
Add ATTRIBUTION_PREFIX setting to control prefix globally.
0.6.0 (2013-08-08)
Upgrade to Leaflet 0.6.4
0.6.0a (2013-07-05)
Upgrade to Leaflet 0.6.2
Upgrade Leaflet.Minimap (rev 3cd58f7)
Upgrade Proj4Leaflet (rev f4f5b6d)
0.5.1 (2013-04-08)
Add minimap support
Drop Leaflet version switching
Update Leaflet to 0.5.1
Update Leaflet.Minimap
Fix apparence of Reset view button
0.4.1 (2012-11-05)
Fix div creation test in template.
0.4.0 (2012-11-05)
Remove imperial scale.
Add create_div parameter
0.3.0 (2012-10-26)
Remove max resolution setting since it can be computed
Allow scale control even if view is not set
Upgrade Leaflet to 0.4.5
0.2.0 (2012-09-22)
Fix packaging of templates
Use template for <head> fragment
Do not rely on spatialreference.org by default
Default settings for SRID
Default settings for map extent
Default map height
Default tiles base layer
map variable is not global anymore
0.1.0 (2012-08-13)
Initial support for map projection
Show zoom scale by default
Spatial extent configuration
Initialization callback instead of global JS variable
Leaflet version switching
Global layers configuration
0.0.2 (2012-03-22)
Add IE conditional CSS
0.0.1 (2012-03-16)
Initial working version
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.
Source Distribution
Built Distribution
Hashes for django_leaflet-0.31.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 914d973a30730eafec4cd822e7107bbd71a6d2e0106b6e919fd9eea67bbcbc5c |
|
MD5 | aefd4ed95fa3b6fd110d0242832f9b4c |
|
BLAKE2b-256 | 9431978bf2354fdd41a224a73b3c84292ab091736480a3b701aa4488e4024226 |