1

Geodjango admin のマップの右側にメニューがあることに気付きました。

admin でマップが関連付けられているモデル フィールドを表すレイヤーを 1 つだけ追加するにはどうすればよいですか?

これは私のモデルです(model.py):

class Foresta(models.Model):

    nome = models.CharField("Nome", blank = False, max_length = 255)
    descrizione = tinymce_models.HTMLField("Descrizione", blank = True, help_text='Inserire una descrizione del bosco')
    slug = models.SlugField("Slug", blank = True)
    published = models.BooleanField("Pubblicato")
    ...

    coord = models.PointField("Coordinata punto foresta", blank = False)
    # GeoDjango-specific: a geometry field (MultiPolygonField), and
    # overriding the default manager with a GeoManager instance.
    mpoly = models.MultiPolygonField("Mappa foresta (poligono)", blank = False)
    objects = models.GeoManager()

これは私の管理モデル (admin.py) です。

class ForestaAdmin(admin.OSMGeoAdmin):
    default_lon= 1308296
    default_lat= 5714101
    default_zoom= 9
    overlays = ('coord', 'mpoly')

「オーバーレイ」オプションを試してみましたが、成功しませんでした!

4

3 に答える 3

3

デフォルトの OSMGeoAdmin 設定は、こちらで確認できます。残念ながら、overlays タプルを指定するような単純な方法でこれを達成できるようには見えません。代わりに、カスタム マップ テンプレートを作成してから、ForestaAdmin クラスの map_template オプションをテンプレートへのパスでオーバーライドする必要があるようです。デフォルトのopenlayersテンプレートをコピーすることから始め、javascript をカスタマイズして、他のレイヤーを追加のOpenLayers ベクターレイヤーとして追加します。

于 2013-03-15T21:39:31.490 に答える