2013-04-17 5 views
1

J'ai un modèleDjango 1.5 GeoDjango pointfield comme carte en ligne admin

from django.contrib.gis.db import models 
class Venue(models.Model): 
    event = models.ForeignKey(Event, verbose_name=_('Event')) 
    name = models.CharField(max_length=32, unique=True) 
    geometry = models.PointField(srid=4326) 
    objects = models.GeoManager() 

Maintenant, je suis en train de montrer champ de la géométrie comme une carte dans la classe d'administration en ligne

class VenueInline(admin.TabularInline): 
    model = Venue 
    extra = 1 

Mais django ne montre pas la carte à la place une zone de texte. Quelle est la meilleure façon de montrer la carte au sein des inlines?

Répondre

0

Vous pouvez utiliser django-location-field:

from django.contrib.gis.db import models 
from location_field.models import LocationField 

class Venue(models.Model): 
    event = models.ForeignKey(Event, verbose_name=_('Event')) 
    name = models.CharField(max_length=32, unique=True) 
    geometry = LocationField(srid=4326) 
    objects = models.GeoManager() 

Pour plus d'exemples, jetez un oeil à la example_project models.py.

+0

Il y a une note sur la page du projet: Ce projet est actuellement inutilisable et en cours de lourd travail – ratata

+0

@ratata Je travaille actuellement sur certains problèmes, donc cet avertissement sera supprimé plus tard aujourd'hui. – caio

+0

Mon Django a cette fonctionnalité par défaut via OSM (openstreetmaps) et OpenLayer Tech, je ne sais pas ce que l'OP essaie d'atteindre. –

Questions connexes