som*_*dev 2 python mapping django django-admin geodjango
我仍然是Django/Python用户的新手,所以对基本问题道歉.
我遇到了一个问题,我的Django管理员没有显示地图.我希望通过在OpenLayersWidget我的forms.py项目文件中添加类来解决这个问题,在Django文档中引用:https://docs.djangoproject.com/en/1.9/ref/contrib/gis/forms-api/#django. contrib.gis.widgets.OpenLayersWidget.见下文.
from django import forms
from django.contrib.gis.admin.widgets import OpenLayersWidget
class OpenLayersWidget(forms.TextInput):
"""Specifying CDN of openlayers.js in the Media class."""
class Media:
js = (
'https://cdnjs.cloudflare.com/ajax/libs/openlayers/2.13.1',
)
Run Code Online (Sandbox Code Playgroud)
我确信这太简单了.
不幸的是,上述内容不适用于https.有任何想法吗?
试试这个:
from django.contrib.gis import admin as gis_admin
class SecureOSM(gis_admin.OSMGeoAdmin):
openlayers_url = 'https://cdnjs.cloudflare.com/ajax/libs/openlayers/2.13.1/OpenLayers.js'
Run Code Online (Sandbox Code Playgroud)
然后从这里继承
更新
https cloudflare url已成为Django 1.11的默认设置.因此不再需要修补.