// the find
erdem/django-map-widgets
Highly customizable, intuitive, and user-friendly map widgets for GeoDjango applications.
Drop-in map widgets for GeoDjango forms and admin, supporting Google Maps, Mapbox, and Leaflet. You get an interactive point picker or a read-only static preview with a few lines of config. Aimed at Django developers who need geospatial input fields without building the JS layer themselves.
Three provider options (Google, Mapbox, Leaflet) with a consistent settings structure, so switching providers doesn't mean rewriting your forms. The Django admin integration is genuinely painless — one formfield_overrides dict and it works. The settings system is deep: you can pass mapOptions, autocomplete restrictions, zoom levels, all without touching JavaScript. Active maintenance with Django 6.0 support already in the changeset.
The field coverage is embarrassing — only PointField and PolygonField (Leaflet only) are supported; LineString, MultiPoint, MultiPolygon are all unimplemented across every provider. jQuery is a hard runtime dependency for non-admin views, which is a real cost if your frontend doesn't already use it. The static widget for Leaflet is missing entirely. Minified JS is committed directly to the repo rather than built from source, so you have to trust that the `.min.js` matches the source file.