Skip to main content

Serve vectorial map layers with Django

Project description

django-geojson

See the documentation for more information.

django-geojson is a set of tools to manipulate GeoJSON with Django >= 3.2:

  • (De)Serializer for (Geo)Django objects, querysets and lists

  • Base views to serve GeoJSON map layers from models

  • GeoJSON model and form fields to avoid spatial database backends (compatible with django-leaflet for map widgets)

Documentation Status https://img.shields.io/pypi/v/django-geojson.svg https://img.shields.io/pypi/dm/django-geojson.svg https://travis-ci.org/makinacorpus/django-geojson.png?branch=master https://coveralls.io/repos/makinacorpus/django-geojson/badge.png?branch=master

AUTHORS

Version 1.X:

  • Daniel Sokolowski, serializer snippet

  • ozzmo, python 2.6 compatibility

makinacom

LICENSE

Lesser GNU Public License

CHANGELOG

4.2.0 (2025-10-03)

  • Drop Python 3.8, Django 4.0, and Django 4.1.

  • Support Python 3.13, Django 5.1 and Django 5.2.

4.1.0 (2024-05-13)

  • Drop Python 3.7, Django 3.2. Support Python 3.11 and 3.12, Django 4.2 and 5.0. #123

4.0.0 (2022-10-17)

  • Drop support for Python < 3.7 / Django < 3.2

  • Remove jsonfield dependency in favor of django.db.models.JSONField

    WARNING : This can break your migration. jsonfield used to create a text column for your json data when running ‘makemigrations’. However, django.db.models.JSONField creates a json column using database-backend specific column types (ie jsonb on postgresql). As such your model field that used to be a text column is now a jsonb column.

3.2.1 (2022-02-21)

  • Set default initial value to form field #116

3.2.0 (2021-04-15)

  • Support Django 3.2.

3.1.0 (2020-10-27)

  • Drop support for Python 2 and Django < 2.2

  • Fix warnings in Django 3.1

  • Use explicit srid in get_queryset #106

  • Add support for crs_type using the view options #107

3.0.0 (2020-03-02)

  • Fix with_modelname option after first iteration

  • Drop Django 1.11 support

  • jsonfield 3.0 support, drop 2.x support

2.12.0 (2018-12-05)

  • Change media type to ‘application/geo+json’

  • Make with_modelname option available in views

  • Drop Django 1.8 support.

  • Fixed unnecessary GDAL dependency. (#100, thanks @coredumperror)

2.11.0 (2017-12-05)

  • Django 2.0 support.

  • Fix setup.py encoding error.

2.10.0 (2017-02-28)

  • python 3.5 support.

2.9.1 (2016-08-22)

** Bug fixes **

  • Remove deprecation warnings with Django 1.8 (#78, thanks @AchilleAsh)

2.9.0 (2016-02-08)

** New features **

  • handle natural keys in views (#74, thanks Achille Ash!)

** Bug fixes **

  • Add Django 1.9 compatibility (#69, thanks Julien Le Sech!)

  • Fix imports in view.py to work without GEOS (#62, thanks Kevin Cooper!)

2.8.1 (2015-06-17)

** Bug fixes**

  • Fixed detection of GEOS (thanks Kevin Cooper!)

2.8.0 (2015-04-17)

** New features **

  • Support GeoJSON specification for named crs (thanks Alvin Lindstam)

** Bug fixes **

  • Add python 3.2 compatibility (thanks Nikolay Korotkiy, fixes #55)

  • Fix tests on Django >= 1.7 (thanks Manel Clos)

2.7.0 (2015-02-21)

** New features **

  • Add a with_modelname option to serializer

** Bug fixes **

  • change ‘fields’ to ‘properties’ in code example

  • Adds a warning for “Module version, as defined in PEP-0396

2.6.0 (2014-07-21)

** New features **

  • Django GeoJSON fields without libgeos installed (thanks Florent Lebreton)

  • Properties can be a tuple (fixes #34)

2.5.0 (2014-06-03)

** New features **

  • Add vector tiles view

  • Improved geojsonfeature template tag (fixes #15, #16)

  • Add various GeoJSON fields, for each geometry type

** Bug fixes **

  • Fix (de)serializers not being usable from command-line (fixes #28)

  • Fix import attempt for django-leaflet (fixes #27), by Seyi Ogunyemi

  • Fix missed SRID after copying a geometry in _handle_geom, by Biel Frontera

** Internal changes **

  • Specify django-leaflet minimal version for GeoJSON model field

  • Got rid of shapely for deserialization

2.4.0 (2014-03-22)

  • Add GeoJSON fields

2.3.0 (2014-02-08)

  • Python 3 support (thanks @amarandon)

  • Add bbox at feature level (thanks @7wonders)

2.2.0 (2013-12-18)

  • Deserialization: add ability to specify model name as option (thanks @Vross)

  • Deserialization: look-up ìd value in properties whe missing at feature level: (thanks @Vross)

2.1.1 (2013-08-21)

  • Set default SRID to 4326 in generic GeoJSON views.

2.1.0 (2013-08-19)

  • Serialize reversed relations using natural keys (fixes #8)

  • Support empty geometries (None or NULL in Db)

  • Fix serializing property in upper class

2.0.1 (2013-07-10)

  • Fix usage of simplify.

  • Expose force2d option in view

  • Allow to have pk or id in properties if explicitly listed

2.0.0 (2013-07-09)

  • Complete rewrite using @jeffkistler and @glenrobertson code

  • CRS is added to GeoJSON ouput by default

  • Ability to build pk dynamically by passing a lambda

  • Ability to provide a bbox

  • Ability to use Django natural keys

  • Support of ValuesQuerySet

  • Support of ForeignKey and ManyToMany

  • Added force2d option

** Backwards incompatible changes **

  • Geom field is not guessed automatically : Use geometry_field option, default is 'geom'.

  • no more pk in properties : use feature id, or list pk in properties explicitly.

  • fields list in GeoJSONLayer was renamed properties.

1.2.0 (2013-05-22)

  • Shapely is now optional (used for deserialization only)

  • Add Django to requirements

  • Skip a step in GeoJSON conversion of geometries (fixes #6)

1.1.0 (2013-03-06)

  • Django 1.5 support

  • Fix template tag geojsonfeature on empty geometries

1.0.0 (2012-08-03)

  • Initial working version.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

django_geojson-4.2.0.tar.gz (21.1 kB view details)

Uploaded Source

Built Distribution

django_geojson-4.2.0-py3-none-any.whl (22.8 kB view details)

Uploaded Python 3

File details

Details for the file django_geojson-4.2.0.tar.gz.

File metadata

  • Download URL: django_geojson-4.2.0.tar.gz
  • Upload date:
  • Size: 21.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.21

File hashes

Hashes for django_geojson-4.2.0.tar.gz
Algorithm Hash digest
SHA256 1d35a22384c89165cfc5a47c3033b918b1035b86bd3862500a003e93cecb7816
MD5 9dfdb0070e400d189eb1598bc968e3c7
BLAKE2b-256 c694b7f83ffa37fbc4e8055243a298198858ead93d8d63c7e4c6aeae2b539765

See more details on using hashes here.

File details

Details for the file django_geojson-4.2.0-py3-none-any.whl.

File metadata

  • Download URL: django_geojson-4.2.0-py3-none-any.whl
  • Upload date:
  • Size: 22.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.21

File hashes

Hashes for django_geojson-4.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 bdee93c1915147cbd37ee6299c1eaa588d86693f8402f48b0803825eee6bf23b
MD5 c6b23d69093bc138fe3765ffa76ff44c
BLAKE2b-256 70fcf59aa9e7742cdada368582c9b16c3f007d046b9854f97fead8e7ee501e00

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page