如何在Wagtail中实现GeoDjango PointField小部件?

2024-04-18 11:48:07 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试让GeoDjango PointField小部件在Wagtail中工作,也就是说,有没有办法在Wagtail管理中使用OSMGeoAdmin提供的功能?你知道吗

在我的香草味django admin.py中,我有:

# admin.py
from django.contrib.gis.admin import OSMGeoAdmin
from .models import Location

@admin.register(Location)
class LocationAdmin(OSMGeoAdmin):
    list_display = ('name', 'location')

它按预期工作,即显示OpenStreet小部件。但是在我的wagtail_hooks.py中,仅仅从OSMGeoAdmin继承是行不通的,ModelAdmin只给了我一个带有NASA世界视图层的OpenLayers小部件。你知道吗

# wagtail_hooks.py
from wagtail.contrib.modeladmin.options import ModelAdmin, modeladmin_register
from wagtail.admin.edit_handlers import FieldPanel
from .models import Location

class LocationAdmin(ModelAdmin):
    model = Location
    menu_label = "Location"
    menu_icon = "pick"
    panels = [
        FieldPanel("name"),
        FieldPanel("location"),
    ]

modeladmin_register(LocationAdmin)

是否有一个Wagtail面板我失踪或任何其他方式获得OpenStreet小部件到我的Wagtail管理视图?你知道吗


Tags: djangofrompyimportregisteradmin部件location