如何将sqlite数据传递给django,并制作图表?

如何将sqlite数据传递给django,并制作图表?,django,sqlite,highcharts,chart.js,django-queryset,Django,Sqlite,Highcharts,Chart.js,Django Queryset,我正在尝试使用sqlite数据库中的数据制作折线图 但我不知道如何将数据传递到views.py和html模板文件 我想制作折线图(x轴:日期,y轴:按日期计数) 我试着用原始queryset和其他东西制作它 requestCnt = ActivityLog.objects.raw("SELECT date(doDate), count(requestType) FROM mainApp_activitylog GROUP BY doDate") 或 等等 Models.py class Act

我正在尝试使用sqlite数据库中的数据制作折线图

但我不知道如何将数据传递到views.py和html模板文件

我想制作折线图(x轴:日期,y轴:按日期计数)

我试着用原始queryset和其他东西制作它

requestCnt = ActivityLog.objects.raw("SELECT date(doDate), count(requestType) FROM mainApp_activitylog GROUP BY doDate")

等等

Models.py

class ActivityLog(models.Model):
    doDate = model.DateTimeField()
    userIP = models.CharField(max_length=200)
    userName =models.CharField(max_length=200)
    requestType = models.CharField(max_length=200)
下面是我的原始sqlite查询

sqlite> SELECT date(doDate), count(requestType) FROM mainApp_activitylog GROUP BY doDate;
结果如下

2019-04-15|3
2019-04-16|16
2019-04-17|13
2019-04-18|10
2019-04-19|13
2019-04-22|24
如何将上述结果传递到X轴和Y轴

我想制作折线图(X轴:日期,Y轴:按日期请求计数)

我有一点想法,我应该使用Json转储或类似的东西

我已经遇到错误,例如“无法序列化为Json文件(?)

我真的希望有人能解决我的问题


谢谢您的帮助。

您可以将查询集发送到上下文中的模板,并使用其中的值

class YourTemplate(TemplateView):
    def get_context_data(self, **kwargs):
        requestCnt = ActivityLog.objects.annotate(request_count=Count('requestType')).values('doDate', 'request_count')
        context = super().get_context_data(**kwargs)
        context["data"] = requestCnt
        return context
然后,在模板中,可以使用
数据
变量获取两个轴的数据。数据将采用以下格式:

[{"doDate":"...", "request_count":"..."}, {"doDate":"...", "request_count":"..."}]

你能分享你的观点和模板吗?很抱歉,我不能分享这些东西,因为我公司的安全政策…非常感谢你的回答。但我还有一个问题。您能告诉我使用“数据”变量制作图表的解决方案吗?(highcharts或charts.js等)@JaehanPark您可以使用Django Rest框架创建api。然后用js调用它。@JaehanPark你可以使用任何你喜欢的框架。
charts.js
相当简单。
[{"doDate":"...", "request_count":"..."}, {"doDate":"...", "request_count":"..."}]