2012-10-24 39 views
1

我试图编辑D3条形图http://bl.ocks.org/3885304以适应来自Django的JSON数据。我有一个在Django中生成的JSON格式的变量:[{“score”:1,“color”:“blue”},{“score”:5,“color”:“green”},{“score” 3,“color”:“red”}等等。所以我想要X轴上的颜色和Y轴上的分数。从Django到D3的JSON数据图

什么是在不需要创建tsv或csv文件的情况下实现Django变量到HTML模板的方法?

回答

2

将数据转换为正确格式并准备就绪通常是您在模型中执行的操作。下面是一个简单的假设的例子:

# In models.py: 
class Address(models.Model): 
    street = models.CharField(max_length=200) 
    city = models.CharField(max_length=200) 
    state = models.CharField(max_length=200) 
    def get_full_address(self): 
     return self.street + "\n" + self.city + ", " + self.state 
在你看来

现在,通过模型实例到模板:

return render(request, 'address.html', {'address': address_object}) 

而且在模板:

{{ address.get_full_address }} 

...会返回文本格式的地址。

所以,如果我想(再次,对于假设的示范)提供这一个JavaScript jQuery函数我可以说:

<span id="address_label"></span> 
<script> 
    ... 
    $("#address_label").html("{{ address.get_full_address }}"); 
    ... 
</script> 
+0

如何实现{%address.get_full_address%}到上述D3 HTML来模拟条形图?我感兴趣的是将Django整合到D3 html模板中。 – ono

+0

请参阅编辑,请:) –

+0

我只需要将您的部分添加到HTML而不删除任何东西来使图形工作?对不起,我完全不熟悉JavaScript。 – ono