在Django模板中指定double

时间:2015-07-20 22:36:17

标签: django django-templates geodjango

我正在使用Django网站,其中一个模型定义如下:

class Field(models.Model):
    user = models.ForeignKey(User_ext)
    name = models.CharField(max_length=50)
    bounds = models.PolygonField()
    date_created = models.DateTimeField(auto_now_add=True)
    date_last_modified = models.DateTimeField(auto_now=True)

    class Meta:
        verbose_name = 'Field'

    def __str__(self):
        return self.name

    def getAcres(self):
        self.bounds.transform(32118)
        acres = self.bounds.area * 0.000247105381
        return round(acres, 2)

    def getCenter(self):
        center = [self.bounds.centroid.x, self.bounds.centroid.y]
        return center

我有一个index.html,其中包含一个开放图层地图,其中心初始化为:

var center = ol.proj.fromLonLat([-88.455, 39.999]);

我想改变这一点,以便'中心'变量将被初始化为“边界”的中心。我的Field模型的领域。我试过这个:var center = {{field.0.getCenter}}但是没有用。甚至可以以这种方式分配变量吗?

2 个答案:

答案 0 :(得分:0)

{{ field.getCenter }}

...但getCenter需要返回一个字符串,如'0.112,14.123'。候补:

var center = ol.proj.fromLonLat([{{ field.bounds.centroid.x }}, {{ field.bounds.centroid.x }}]);

答案 1 :(得分:0)

假设fieldField模型的实例,请尝试:

var center = {{ field.getCenter }};