首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >将python列表转换为特定的javascript格式

将python列表转换为特定的javascript格式
EN

Stack Overflow用户
提问于 2018-10-29 06:39:55
回答 1查看 28关注 0票数 0

使用Django,我有以下模型:

class Score(models.Model):
    team = models.ForeignKey(Team, on_delete=models.CASCADE)
    month = models.CharField(max_length=255)
    points = models.FloatField(null=True, blank=True)

我在这个表中有以下数据:

Team    Date    Points
A   Jan 2015    100
A   Feb 2015    150
A   Mar 2015    200
B   Jan 2015    120
B   Feb 2015    200
B   Mar 2015    300
C   Jan 2015    111
C   Feb 2015    122
C   Mar 2015    133

所以,我认为我可以运行:

data = Score.objects.all()

这将返回一个包含上述所有记录的列表。到现在为止还好。但是,我想在javascript中将其显示为图形。这需要一种非常特殊的格式。首先,我需要分离所有的x轴标签(“2015年1月”,“2015年2月”,“2015年3月”),然后我需要按团队对所有分数进行分组。这是最终的js应该是什么样子:

<script>
   var timeXAxis = ["Jan 2015", "Feb 2015", "Mar 2015"]
     var timeSeries = [
     {
       name: "Team 1",
       data: [
         ["Jan 2015", 100],
         ["Feb 2015", 150],
         ["Mar 2015", 200],
       ]
     },
     {
       name: "Team 2",
       data: [
         ["Jan 2015", 120],
         ["Feb 2015", 200],
         ["Mar 2015", 300],
       ]
     },
     {
       name: "Team 3",
       data: [
         ["Jan 2015", 111],
         ["Feb 2015", 222],
         ["Mar 2015", 333],
       ]
     }
   ];
</script>

这就是它变得棘手的地方。我是python的新手,不确定这样做的正确方式是什么。我假设我应该在我的视图中准备变量,而不是在我的模板中做太多。但是我该怎么做呢?是否创建两个列表(一个用于x轴标签,另一个用于数据)?我是否使用多维列表?或者是字典?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-10-29 07:10:35

您希望将数据表示为JSON格式。为此,从data = Score.objects.all()收集的数据应该是序列化的,并作为JSON传递给模板。

小示例:

from django.core import serializers

def get_modelAPI(request):
    SomeModel_json = serializers.serialize("json", SomeModel.objects.all())
    data = {"SomeModel_json": SomeModel_json}
    return JsonResponse(data)

有关更多信息,请阅读this

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

https://stackoverflow.com/questions/53036697

复制
相关文章

相似问题

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