javascript - 从 Django View 将数据加载到 Javascript 中?

标签 javascript html django yui

我有一个看起来像这样的 view.py:编辑:现在看起来像这样

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-template js

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

关于javascript - 从 Django View 将数据加载到 Javascript 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17729021/

相关文章:

javascript - JQuery 不适用于 Joomla 3

html - 一种将外部样式表临时添加到可共享的现有网站的方法

python - 如何在 Django 模板中获取反向引用?

python - Django - 从媒体目录提供文件

python - Django NoReverseMatch 在/qw-1/

javascript - jQuery 切换子类

javascript - 如何使用过滤值从旧对象创建新对象

javascript - Iron-Router 在 Meteor 中随机返回未定义

php - Bootstrap 3 日历?

html - 我想要一些按钮上的滑出效果