如何解决geodjango单张地图未显示
已解决:它来自settings.py中的STATIC_ROOT和STATIC_URL定义。似乎传单标记指向传单的JS和CSS组件的那些文件夹。
我从很短的时间开始玩Django和传单。大部分时间都很有趣,但有时却令人沮丧……现在,我无法在Django前端网站上仅使用detailView和模板显示传单地图。几天以来,我一直在寻找解决方案,但我自己无法管理,所以我来了。
我没有错误,容器只是显示为空白,好像它无法正确调用其中一个嵌入脚本:
这是我的settings.py中已安装的应用程序:
INSTALLED_APPS = [
'django.contrib.admin','django.contrib.auth','django.contrib.contenttypes','django.contrib.sessions','django.contrib.messages','django.contrib.staticfiles','leaflet','django.contrib.gis',]
这是我的base.html:
<!DOCTYPE html>
{% load leaflet_tags %}
<html lang=fr>
<head>
<title>{% block head_title %}titre{% endblock head_title %}</title>
{% include 'snippets/css.html' %}
{% leaflet_css %}
{% leaflet_js %}
</head>
<body>
{% include 'snippets/nav.html' %}
<div class='container'>
{% block content %}
{% endblock content %}
</div>
{% include 'snippets/js.html' %}
</body>
</html>
然后是我的模板:
{% extends "base.html" %}
{% block head_title %}{{ block.super }} | {{ object.nom }}{% endblock head_title %}
{% block content %}
<h1>{{ object.nom }}</h1>
<table class="table table-sm">
<tr>
<th>Catégorie</th>
<td>{{ object.categorie }}</td>
</tr>
<tr>
<th>Localisation</th>
<td>{% leaflet_map "main" callback="map_init" %}
<script type="text/javascript">
function map_init(map,options) {
// get point lat and lon
var lon = "{{ object.location.x }}";
var lat = "{{ object.location.y }}";
// zoom to point & add it to map
map.setView([lat,lon],12);
L.marker([lat,lon]).addTo(map);
}
</script>
</td>
</tr>
<tr>
<th>Questionnaire</th>
<td></td>
</tr>
{% endif %}
</table>
{% endblock %}
还有我的models.py,以防提示:
class MembreReseau(models.Model):
nom = models.CharField(max_length=120,blank=False,null=False)
categorie = models.ForeignKey(Categorie,on_delete=models.DO_NOTHING)
...
location = models.PointField("Location",blank=True,null=True)
def __str__(self):
return self.nom
def get_absolute_url(self):
return reverse('ELIEN_DIRECTORY:detail',kwargs={'pk': self.pk})
最简单的就是我的views.py
from django.shortcuts import render
from django.views.generic import DetailView
from .models import MembreReseau
class ELIEN_DIRECTORYDetailView(DetailView):
model = MembreReseau
哦!我使用引导程序进行渲染。我不知道它是否可能与传单有冲突。
任何帮助将不胜感激(开玩笑...实际上是在节省精神健康)! 我将继续搜索,并承诺如果自己解决问题,就会发布答案。
谢谢朋友!
解决方法
有带有传单的geodjango样板。看看
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。