Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/277.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在django geojson中包含多个字段,并附带传单_Python_Django - Fatal编程技术网

Python 在django geojson中包含多个字段,并附带传单

Python 在django geojson中包含多个字段,并附带传单,python,django,Python,Django,我大致上是在遵循有关的示例。我的示例包含一个城市的模型和该城市中的建筑列表(多对多字段)。我想列出某个城市所有建筑物的名称 模型 class Building(models.Model): name = models.CharField(max_length=256) class City(models.Model): name = models.CharField(max_length=256, default='') geom = PointField()

我大致上是在遵循有关的示例。我的示例包含一个城市的模型和该城市中的建筑列表(多对多字段)。我想列出某个城市所有建筑物的名称

模型

class Building(models.Model):
    name = models.CharField(max_length=256)

class City(models.Model):
    name = models.CharField(max_length=256, default='')
    geom = PointField()
    buildings = models.ManyToManyField(Building)
网址

模板

<script>
    var dataurl = '{% url "data" %}';

    window.addEventListener("map:init", function (event) {
        var map = event.detail.map;
        // Download GeoJSON data with Ajax
        fetch(dataurl)
          .then(function(resp) {
            return resp.json();
          })
          .then(function(data) {
            L.geoJson(data, {
              onEachFeature: function onEachFeature(feature, layer) {
                var props = feature.properties;
                
                var content = `<p>${props.name}</p>
                               <p>${props.buildings}</p>`;
                layer.bindPopup(content);
            }}).addTo(map);
          });
      });
</script>

var dataurl='{%url“数据”%}';
addEventListener(“映射:init”,函数(事件){
var map=event.detail.map;
//使用Ajax下载GeoJSON数据
获取(数据URL)
.然后(功能(resp){
返回resp.json();
})
.then(功能(数据){
L.geoJson(数据、{
onEachFeature:功能onEachFeature(功能,图层){
var props=feature.properties;
var content=`${props.name}

${props.buildings}

`; 层绑定弹出窗口(内容); }}).addTo(地图); }); });
如何确保数据也包含来自建筑物的信息(例如字段名)。目前我只得到一个ID为的列表

另一种方法是向基本上生成html的模型添加属性,但我希望将所有html保留在模板文件中

<script>
    var dataurl = '{% url "data" %}';

    window.addEventListener("map:init", function (event) {
        var map = event.detail.map;
        // Download GeoJSON data with Ajax
        fetch(dataurl)
          .then(function(resp) {
            return resp.json();
          })
          .then(function(data) {
            L.geoJson(data, {
              onEachFeature: function onEachFeature(feature, layer) {
                var props = feature.properties;
                
                var content = `<p>${props.name}</p>
                               <p>${props.buildings}</p>`;
                layer.bindPopup(content);
            }}).addTo(map);
          });
      });
</script>