django-osm

Project Open Street Map management


Keywords
django-osm, django, django-packages, geodjango, gis, osm, rest-api
License
MIT
Install
pip install django-osm==0.1.0

Documentation

django-osm

https://app.travis-ci.com/dcopm999/django-osm.svg?branch=master

Project Open Street Map management

Documentation

The full documentation is at https://django-osm.readthedocs.io.

Quickstart

Install django-osm:

pip install django-osm

Add it to your INSTALLED_APPS:

INSTALLED_APPS = (
    ...
    "django.contrib.gis",
    "django_celery_beat",
    "rest_framework",
    "rest_framework_gis",
    "osm",
    ...
)

DATABASE_ROUTERS = [
    ...
    'osm.route_db.Default'
]

DATABASES = {
    ...
    'osm': {
        'ENGINE': 'django.contrib.gis.db.backends.postgis',
        'HOST': 'localhost',
        'NAME': 'geodjango',
    },
}
OSM_REPLICS = ['osm']

If there is OSM database replication, then add the connection parameters to us in the list of databases:

DATABASES = {
    ...
    'osm_replica1': {
        'ENGINE': 'django.contrib.gis.db.backends.postgis',
        'HOST': 'localhost',
        'NAME': 'geodjango',
        },

}

And complete the list of replicas OSM_REPLICS:

OSM_REPLICS = ['osm', 'osm_replica1']

Add django-osm's URL patterns:

urlpatterns = [
    ...
    path('osm/', include('osm.urls', namespace='osm')),
    ...
]

Add DRF settings:

 REST_FRAMEWORK = {
     "DEFAULT_AUTHENTICATION_CLASSES": (
         "rest_framework.authentication.SessionAuthentication",
         "rest_framework.authentication.TokenAuthentication",
     ),
     "DEFAULT_PERMISSION_CLASSES": ("rest_framework.permissions.IsAuthenticated",),
     'DEFAULT_PAGINATION_CLASS': 'rest_framework.pagination.LimitOffsetPagination',
     'PAGE_SIZE': 25
}

Features

  • TODO

Running Tests

Does the code actually work?

source <YOURVIRTUALENV>/bin/activate
(myenv) $ pip install tox
(myenv) $ tox

Development commands

pip install -r requirements_dev.txt
invoke -l

Credits

Tools used in rendering this package: