finds.dev

makinacorpus/django-leaflet

Use Leaflet in your Django projects

View on GitHub

★ 749JavaScriptLGPL-3.0updated Aug 2026

// the take

A thin Django integration layer around Leaflet: template tags for embedding maps, a form widget for editing geometry fields, and settings-driven configuration for things like default tile layers and projections. It's aimed at Django projects that need a quick way to show or edit geographic data in templates and admin, especially alongside django-geojson for teams without a spatial database.

Ships leaflet.draw bundled so geometry editing widgets work out of the box without a separate JS integration step. Centralizing map config in Django settings means you can change tile providers or default zoom per-deployment without touching templates. Long-lived project (contributor list goes back over a decade) with CI and coverage tracking still active, and i18n support across a wide set of locales for the admin widget strings.

Leaflet itself is vendored as static assets (leaflet-src.js, leaflet.draw.js) rather than pulled via a JS package manager, so upgrading Leaflet means waiting on this package's maintainers rather than bumping a version number yourself. LGPL licensing is a blocker for some commercial codebases that avoid copyleft dependencies. The whole approach is built around server-rendered Django forms and templates, not fetch/JSON APIs, so it doesn't fit well if your frontend is a decoupled SPA talking to Django as an API backend. No mention of Leaflet 2.x migration, and the form widget's geometry editing UX hasn't meaningfully changed in years, which shows against newer map libraries with built-in React/Vue bindings.

We read the README, the directory tree and a key source file in October 2026. Nobody pays to be listed. How we judge →

search the same ground:

// at a glance

Stars
749
Forks
282
Language
JavaScript
License
LGPL-3.0
Last commit
17 Aug 2026

// nearby

If django-leaflet isn't quite it.

All repos →