首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >姜戈传单+ django-geojson:我不能在管理中放置一个标记(TypeError: L.drawLocal.draw.toolbar.finish是未定义的)

姜戈传单+ django-geojson:我不能在管理中放置一个标记(TypeError: L.drawLocal.draw.toolbar.finish是未定义的)
EN

Stack Overflow用户
提问于 2017-02-17 10:27:37
回答 1查看 888关注 0票数 2

这可能是微不足道的,但我找不到错误。我只是按照GitHub上的文档完成最初的设置。我启动了一个新的应用程序。安装了django-传单django-geojson,创建了一个最小的models.py和admin.py。

当我试图通过管理员在地图上放置一个标记时。什么都没有发生,左边绘制标记和多边形的图标丢失了。

我一定是错过了一个依赖项,忘记了一些琐碎的东西。但我一遍又一遍的看医生,我一定是目不转睛地盯着自己。

我还没有创建视图或模板。只有模型和管理员。并迁移了数据库。

这是来自Chrome和Firefox的控制台日志。

Chrome

代码语言:javascript
复制
spritesheet.svg Failed to load resource: the server responded with a status of 404 (Not Found)
leaflet.draw.js:9 Uncaught TypeError: Cannot read property 'title' of undefined
    at e.getActions (leaflet.draw.js:9)
    at e._createActions (leaflet.draw.js:9)
    at e._showActionsToolbar (leaflet.draw.js:9)
    at e._handlerActivated (leaflet.draw.js:9)
    at e.fireEvent (leaflet.js:6)
    at enable (leaflet.draw.js:8)
    at HTMLAnchorElement.s [as _leaflet_click33] (leaflet.js:8)

Firefox

代码语言:javascript
复制
10:34:46.995 TypeError: L.drawLocal.draw.toolbar.finish is undefined 1 leaflet.draw.js:9:15973

    L.DrawToolbar<.getActions        http://127.0.0.1:8000/static/leaflet/draw/leaflet.draw.js:9:15973
    L.Toolbar<._createActions        http://127.0.0.1:8000/static/leaflet/draw/leaflet.draw.js:9:12001
    L.Toolbar<._showActionsToolbar   http://127.0.0.1:8000/static/leaflet/draw/leaflet.draw.js:9:12614
    L.Toolbar<._handlerActivated     http://127.0.0.1:8000/static/leaflet/draw/leaflet.draw.js:9:11700
    o.Evented<.fire                  http://127.0.0.1:8000/static/leaflet/leaflet.js:5:4955
    L.Draw.Feature<.enable           http://127.0.0.1:8000/static/leaflet/draw/leaflet.draw.js:8:1810
    o.DomEvent._on/h                 http://127.0.0.1:8000/static/leaflet/leaflet.js:6:11671

installed packages

代码语言:javascript
复制
appdirs==1.4.0
Django==1.10.5
django-geojson==2.9.1
django-leaflet==0.20.0
jsonfield==1.0.3
olefile==0.44
packaging==16.8
Pillow==4.0.0
psycopg2==2.6.2
pyparsing==2.1.10
six==1.10.0

geodjango/settings.py

代码语言:javascript
复制
INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'django.contrib.gis',
    'leaflet',
    'djgeojson',
    'djangomap',
]

djangomap/models.py

代码语言:javascript
复制
from django.db import models
from djgeojson.fields import PointField

class MapMarker(models.Model):
    geom = PointField()

djangomap/admin.py

代码语言:javascript
复制
from django.contrib import admin
from leaflet.admin import LeafletGeoAdmin

from djangomap.models import MapMarker

admin.site.register(MapMarker, LeafletGeoAdmin)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-02-24 12:00:45

django传单0.20.0要求leaflet.draw 0.4,但提供0.3。修复这个问题的请求是在这里https://github.com/makinacorpus/django-leaflet/pull/179,但它仍然没有在2017年2月28日合并和合并。

在合并之前,解决方法是:pip uninstall django-leaflet pip install django-leaflet-cadasta

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42295481

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档