Easily expose your Django models through an OGCAPI-Features endpoint
Project description
django-ogcapif
WARNING This is in under development. API will break. Do not use in production.
django-ogcapif allows to easily expose your Django models through an OGCAPI-Features endpoint. It is based on Django REST Framework.
Quickstart
# copy default conf
cp .env.example .env
# start the stack
docker compose up --build -d
# deploy static files and migrate database
docker compose exec django python manage.py collectstatic --no-input
docker compose exec django python manage.py migrate --no-input
# A convenience start-up Django command is there to populate the database with testdata for each app:
docker compose exec django python manage.py populate_vl
docker compose exec django python manage.py populate_signs_poles
docker compose exec django python manage.py populate_edge_cases
# Wait a little, then check that https://localhost/oapif/collections/signalo_core.pole/items works from your browser
Tests
To run all tests, launch the Compose application as shown in the Quickstart. Then run
docker compose exec django python manage.py test
Authentication & permissions
By default the viewsets under signalo/core
use the DjangoModelPermissionsOrAnonReadOnly
permissions class. You can add model permissions when registering their corresponding viewsets, as permission_classes
. (Refer to https://www.django-rest-framework.org/api-guide/permissions/#api-reference for permission classes). Example:
# models.py
# ----------
from rest_framework import permissions
from django.contrib.gis.db import models
from django_oapif.decorators import register_oapif_viewset
@register_oapif_viewset(
custom_viewset_attrs={
"permission_classes": (permissions.DjangoModelPermissionsOrAnonReadOnly,)
}
)
class MyModel(models.Model):
...
Use from QGIS
Once up and running, you can use it from QGIS like this:
- Go to
Layers
>Add layer
>Add WFS Layer...
- Create a new connection
- URL:
https://localhost/oapif/
- Version:
OGC API - Features
- URL:
- Click OK and ignore choose to ignore the invalid certificate error and store the exception
- You should see the two layers in the list, select them and choose
add
.
Run tests
You can run the OGC API conformance test suite like this:
docker compose run conformance_test
Results will be stored to `_test_outputs\testng...\emailable-report.html
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
File details
Details for the file django-ogcapif-0.1.6.tar.gz
.
File metadata
- Download URL: django-ogcapif-0.1.6.tar.gz
- Upload date:
- Size: 10.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.9.16
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0e6fa7f97bcc229eecf4a9ecf1ae96b9f229d6779c94d612e1ce38fddd32bbe4 |
|
MD5 | e8a2eea656a9a0dd7b7d092c295c5f3f |
|
BLAKE2b-256 | c1ed56994fda58fe848cdfe9d60eb81a928cccca78c9e4bb427517f2db430d3b |
File details
Details for the file django_ogcapif-0.1.6-py3-none-any.whl
.
File metadata
- Download URL: django_ogcapif-0.1.6-py3-none-any.whl
- Upload date:
- Size: 11.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.9.16
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4c377b842131fba6664ad4351664c18442814235a482822fc1cb2a3d9f96999b |
|
MD5 | 93071a257aef7152d6f1882afbbe13ba |
|
BLAKE2b-256 | bfc4fe30dc14288c760b591e1e7cc372635451a6af1aade9ecf949c3562645c2 |