django 后台传值,前台接收

本文详细介绍了如何在Django后端处理数据并将其有效地传递到前端展示。通过实例解析了views.py中的关键代码,包括如何创建视图函数、设置模板以及使用URL配置,确保前端能够正确接收并显示后台数据。

views.py

def chart_first(request):
    result = WeatherCondition.objects.all()
    l=[]
    for res in result:
        #l.append({'tempature_date':res.tempature_date.strftime("%Y-%m-%d"),"tempature":res.tempature})
        l.append(res.tempature)
    return render_to_response('chart_first.html',{'data': json.dumps(l)})

.html

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title></title>
    <script type="text/javascript" src="/media/js/jquery-2.1.1.min.js" ></script>
    <script src="/media/js/Chart.js"></script>
    <script>
      var list = '{{ data | escapejs}}';
      console.log(list);
      var randomScalingFactor = function(){ return Math.round(Math.random()*100)};
      var lineChartData = {
         labels : ["January","February","March","April","May","June","July"],
         datasets : [
            {
               label: "My First dataset",
               fillColor : "rgba(220,220,220,0.2)",
               strokeColor : "rgba(220,220,220,1)",
               pointColor : "rgba(220,220,220,1)",
               pointStrokeColor : "#fff",
               pointHighlightFill : "#fff",
               pointHighlightStroke : "rgba(220,220,220,1)",
               data :JSON.parse(list)
            },
            {
               label: "My Second dataset",
               fillColor : "rgba(151,187,205,0.2)",
               strokeColor : "rgba(151,187,205,1)",
               pointColor : "rgba(151,187,205,1)",
               pointStrokeColor : "#fff",
               pointHighlightFill : "#fff",
               pointHighlightStroke : "rgba(151,187,205,1)",
               data : [randomScalingFactor(),randomScalingFactor(),randomScalingFactor(),randomScalingFactor(),randomScalingFactor(),randomScalingFactor(),randomScalingFactor()]
            }
         ]
      }
   window.onload = function(){
      var ctx = document.getElementById("canvas").getContext("2d");
      window.myLine = new Chart(ctx).Line(lineChartData, {
         responsive: true
      });
   }
   </script>
</head>
<body>
  <div style="width:30%">
            <canvas id="canvas" height="450" width="600"></canvas>
      </div>

</body>
</html>






评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值