Django 如何将值从视图传递到模板以绘制图形
我在试着画图表。我可以知道如何将视图中的值传递给图形的jQuery吗。 上下文={'m':月数,'p':幂值,'q':根值} p和q为y轴值,m为x轴值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
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>