Index de l'article

Édition cartographique

Pour afficher la vue correspondante à notre modèle de points dans l'interface d'administration déjà existante, il nous la créer dans le fichier admin.py de votre application carto. Remplacez son éventuel contenu par ce code :

from django.contrib.gis import admin

from .models import Sample

class SampleAdmin(admin.OSMGeoAdmin):

fieldsets = [
('Identity', {'fields': ['name', 'pub_date']}),
('Detail', {'fields': ['author', 'type', 'description', 'structure']}),
(None, {'fields': ['geom']}),
]

admin.site.register (Sample, SampleAdmin)

Rafraîchissez votre page d'administration (relancez le serveur de développement si besoin). Un nouveau groupe d'onglet Carto est apparu, avec un premier onglet Samples.

geodjango1Nous utilisons une administration GeoDjango un peu particulière (OSMGeoAdmin) afin de bénéficier tout de suite d'un fond de carte OpenStreetMap, plus précis que le basemap par défaut.

N'hésitez pas à saisir un enregistrement. Sans plus d'information de notre part dans le modèle, tous les champs sont obligatoires. Le point sera bien enregistré dans notre champ géométrique Postgres.

Les champs sont ici groupés en onglets, de nombreuses autres options sont possibles, à la fois sur le formulaire d'un sample mais aussi sur leur tableau. Ajoutez ces lignes à la suite de votre option fieldsets par exemple :

list_filter = ['pub_date']
search_fields = ['name']

Et rafraîchissez le tableau des samples...

Vous pouvez aussi allez voir les ACL des utilisateurs, de nouveaux sont disponibles concernant votre objet Sample.