Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/466.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从Django视图将数据加载到Javascript中?_Javascript_Html_Django_Yui - Fatal编程技术网

从Django视图将数据加载到Javascript中?

从Django视图将数据加载到Javascript中?,javascript,html,django,yui,Javascript,Html,Django,Yui,我有一个view.py,看起来像这样:EDIT:NOW看起来像这样 def sessionscheduler(request): c = connection.cursor() c.execute("SELECT * FROM meter_schedule WHERE id = 1") scheduleArray = [] for row in c.fetchall(): data = dict([('lastUpdate'

我有一个view.py,看起来像这样:EDIT:NOW看起来像这样

def sessionscheduler(request):
    c = connection.cursor()            
    c.execute("SELECT * FROM meter_schedule WHERE id = 1")
    scheduleArray = []
    for row in c.fetchall():
        data = dict([('lastUpdate',row[1]), ('weekdaysOn',row[2]), ('weekdayChargeRateOffPeriodKwh',row[3]), ('weekdayEveningChargeOn',row[4]), ('weekdayEveningStart',row[5]),
                     ('weekdayEveningDuration',row[6]), ('weekdayDayChargeOn',row[7]), ('weekdayDayStart',row[8]), ('weekdayDayDuration',row[9]), ('weekendsOn',row[10]), 
                     ('weekendChargeRateOffPeriodKWh',row[11]), ('weekendEveningChargeOn',row[12]), ('weekendEveningStart',row[13]), ('weekendEveningDuration',row[14]), 
                     ('weekendDayChargeOn',row[15]), ('weekendDayStart',row[16]), ('weekendDayDuration',row[17])])
        scheduleArray.append((data))
    jscheduleArray = json.dumps(scheduleArray)    
    return render(request, 'sessionscheduler.html', jscheduleArray)
使用调试器,我可以看到变量scheduleArray包含我想要加载到其中的所有数据


如何访问.js文件中加载的jscheduleArray?

生成的JavaScript可能无效。将数据从Python导出到JS的最简单方法是通过JSON

import json
def sessionscheduler(request):
    latest_schedule_update = schedule.objects.all()
    context = {'latest_schedule_update': json.dumps(latest_schedule_update)}
    return render(request, 'sessionscheduler.html', context)
还有你的django模板js

<script>
    var latest_schedule_update = {{ latest_schedule_update }};
</script>

var latest_schedule_update={{latest_schedule_update};

不要将
python
javascript
混合使用。如果您正在模板化一个javascript文件,请确保将来自服务器端/django应用程序的值用引号括起来。

这对我不起作用。它不允许我使用json.dumps(最新的计划更新)。我创建的视图似乎只返回了数据的最后更新部分。查看我的编辑,看看我现在在做什么。更新后的代码正在转储一个目录列表!我不知道你是如何使用jscheduleArray的,但请尝试
scheduleArray.append(data)
。我以前做过,没有遇到任何问题,但由于某种原因,当我看到发布到页面上的数据时,我得到[{“weekdayEveningDuration”:5.683334,…当我试图处理这些数据时,javascript不喜欢“有什么想法吗?如果出现HTML实体,您可能会想使用。您能进一步解释一下吗?我添加了它,但没有做任何更改。我不明白这应该做什么。我在jscheduleArray=…”context={“jscheduleArray”:jscheduleArray}下面添加了一行,现在当我调用HTML{jscheduleArray}中的变量时我可以将数据写入页面,现在我需要javascript读取数据并根据这些值完成操作