Django 如何将值从视图传递到模板以绘制图形

Django 如何将值从视图传递到模板以绘制图形,django,Django,我在试着画图表。我可以知道如何将视图中的值传递给图形的jQuery吗。 上下文={'m':月数,'p':幂值,'q':根值} p和q为y轴值,m为x轴值 views.py def plot_graph(request): month_number=[] months=KEBReading.objects.filter().values("datetime_reading") print months for obj in months: mo

我在试着画图表。我可以知道如何将视图中的值传递给图形的jQuery吗。 上下文={'m':月数,'p':幂值,'q':根值} p和q为y轴值,m为x轴值

 views.py 

def plot_graph(request):
    month_number=[]
    months=KEBReading.objects.filter().values("datetime_reading")
    print months
    for obj in months:
        month_number=obj["datetime_reading"].day
        print month_number
    q2=KEBReading.objects.filter().values("truepower_consumed")
    print q2
    q3=GeneratorReading.objects.filter().values("perday_dgunit")
    print q3
    for item in q2:
        power_values=item["truepower_consumed"]
        print power_values
    print "tee"
    for item in q3:
        gen_values=item["perday_dgunit"]
        print gen_values
    context={'m':month_number,'p':power_values,'q':gen_values}    
    return render_to_response('graph.html',context,
                               context_instance=RequestContext(request))

当我需要这种行为时,我经常编写一个过滤器,将我的对象或Queryset转换成json对象

 models.py 


 class KEBReading(models.Model):

   datetime_reading=models.DateTimeField()

   truepower_reading=models.DecimalField(verbose_name="True Power                          Reading(KWH)",max_digits=6,decimal_places=2,blank=False,null=False)
apparentpower_reading=models.DecimalField(verbose_name="Apparent Power Reading(KVAH)",max_digits=6,decimal_places=2,blank=False,null=False)
 truepower_consumed=models.DecimalField(max_digits=6,decimal_places=2,blank=False,null=False)
voltage_reading=models.IntegerField(blank=False,null=False)
powerfactor=models.DecimalField(max_digits=3,decimal_places=2)



 class GeneratorReading(models.Model):

  datetime_reading=models.DateTimeField()

 running_time=models.IntegerField(blank=False,null=False)
 running_time_consumed=models.SmallIntegerField(blank=False,null=False)
 dgunit_reading=models.DecimalField(max_digits=6, blank=True,decimal_places=2)
 perday_dgunit=models.DecimalField(max_digits=6, decimal_places=2)
def jsonify(对象):
如果isinstance(对象,查询集):
返回序列化('json',对象)
返回simplejson.dumps(对象)
register.filter('jsonify',jsonify)
{{my|u data | jsonify | safe}}

你每天从哪里得到的?我在应用程序中使用highcharts,我想回答这个问题,但如果我发布它,它会很长。它现在对我有用。我发出了一个ajax请求来获取数据,并将json对象传递给jquery。无论如何,非常感谢
 models.py 


 class KEBReading(models.Model):

   datetime_reading=models.DateTimeField()

   truepower_reading=models.DecimalField(verbose_name="True Power                          Reading(KWH)",max_digits=6,decimal_places=2,blank=False,null=False)
apparentpower_reading=models.DecimalField(verbose_name="Apparent Power Reading(KVAH)",max_digits=6,decimal_places=2,blank=False,null=False)
 truepower_consumed=models.DecimalField(max_digits=6,decimal_places=2,blank=False,null=False)
voltage_reading=models.IntegerField(blank=False,null=False)
powerfactor=models.DecimalField(max_digits=3,decimal_places=2)



 class GeneratorReading(models.Model):

  datetime_reading=models.DateTimeField()

 running_time=models.IntegerField(blank=False,null=False)
 running_time_consumed=models.SmallIntegerField(blank=False,null=False)
 dgunit_reading=models.DecimalField(max_digits=6, blank=True,decimal_places=2)
 perday_dgunit=models.DecimalField(max_digits=6, decimal_places=2)
def jsonify(object):
    if isinstance(object, QuerySet):
         return serialize('json', object)
    return simplejson.dumps(object)

register.filter('jsonify', jsonify)

<script id="json_data" type="text/javascript">
    {{ my_data|jsonify|safe }}
</script>