【问题标题】:Django 1.5 Geodjango pointfield as map in admin inlineDjango 1.5 Geodjango 点场作为管理内联中的地图
【发布时间】:2013-04-10 08:27:24
【问题描述】:

我有模特

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()

现在我正在尝试将几何字段显示为内联管理类中的地图

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

但 django 不显示地图,而是显示文本区域。在内联中显示地图的最佳方式是什么?

【问题讨论】:

    标签: django geodjango


    【解决方案1】:

    你可以使用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()
    

    有关更多示例,请查看 example_project models.py

    【讨论】:

    • 项目页面有注释:该项目目前无法使用,工作繁重
    • @ratata 我目前正在处理一些问题,因此今天晚些时候将删除此警告。
    • 我的 Django 通过 OSM (openstreetmaps) 和 OpenLayer 技术默认具有此功能,我不知道 OP 试图实现什么。
    • @caio - 如果我们不使用内联管理员并使用 -- -- admin.site.register(Venue, admin.OSMGeoAdmin) --- 一切正常,我们可以在地图上标记...我们不能使用相同的 django 结构并使其可用于内联吗?为什么要添加额外的 google map js?
    猜你喜欢
    • 2013-03-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-29
    • 1970-01-01
    • 2017-10-16
    • 2015-06-21
    • 2012-04-07
    • 2011-06-17
    相关资源
    最近更新 更多