Сделайте виджет django-leaflet в админке

Могу ли я сделать виджет django-leaflet в админке, если моя модель:

from django.contrib.gis.db import models as m
from djgeojson.fields import GeometryCollectionField

class Doc(m.Model):
    name = m.CharField()
    type = m.ForeignKey()
    geom = GeometryCollectionField()

Если я попробую:

админ:

class DocAdmin(admin.ModelAdmin):
   form = f.DocGeometryForm
...

формы:

class DocGeometryForm(f.ModelForm):
    class Meta:
        model = m.Doc
        widgets = {
          'geom': LeafletWidget(),
        }

    class Media:
        css = {
            'all':('ext/leaflet/leaflet.css',)
        }
        js = [
            'ext/jquery/jquery.js',
            'ext/leaflet/leaflet.js',
        ]

Получение: l.map.djangomap не является функцией

1 ответ

Вы можете попробовать что-то вроде этого:

class MyAdmin(admin.ModelAdmin):

    @property
    def media(self):
        media = super(MyAdmin, self).media
        l = LeafletWidget()
        l.include_media = True
        return media + l.media
Другие вопросы по тегам