django - 如何更改 django-leaflet openlayers 画布?
问题描述
我有一个 django-leaflet 小部件,但该小部件显示一些图像而不是 openlayers 地图,我如何在模型窗体上更改它?
from django import forms
from django.contrib.gis.forms import OSMWidget, PointField, ModelForm
from leaflet.forms.widgets import LeafletWidget
class YourMapWidget(LeafletWidget):
geometry_field_class = 'geom'
class ApartmentForm(forms.ModelForm):
class Meta:
model = Apartment
fields = '__all__'
widgets = {'geom': YourMapWidget()}
解决方案
一种方法是使用设置全局更改它。如果您想使用 OSM,只需在您的设置中添加类似这样的内容,
LEAFLET_CONFIG = {
'DEFAULT_CENTER': (6.0, 45.0),
'DEFAULT_ZOOM': 16,
'TILES': 'http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png'
}
顺便说一句,这实际上很奇怪,默认设置应该是 OSM 映射。
推荐阅读
- spring - 为什么当我创建一个 spring boot kotlin 项目时,我被迫打开所有类?
- pine-script - 有人可以让我知道如何在我的代码中实现它(我对此很陌生)
- python - ValueError:检查输入时出错:预期 main_input 具有形状(2491,)但得到的数组具有形状(1016,)
- python - 如何返回到函数的开头
- ios - Firebase FIRStorageErrorDomain Codes=-13021 为 iOS 应用程序获取图像时出错
- c++ - wxWidgets - 单击按钮时在不同视图之间切换
- c# - Azure blob 触发器未触发?
- python - msys2 不会将驱动程序文件夹识别为有效
- python - 按python中条目名称中包含的时间戳对列表中的条目进行排序
- ios - Pod Init 在 Catalina 中不起作用——git 版本