我有一个django项目设置。我正在使用pivottable.js(https://github.com/nicolaskruchten/pivottable)
添加一个带有pivottable的新页面我的问题是我无法从pivottable.js jQuery函数中加载来自views.py context {{data}}的csv数据。
在我的views.py中:
def sysdev_pivottable(request):
context = {}
csvString = ""
with open("W:\\data.csv", 'rb') as csvfile:
reader= csv.reader(csvfile, delimiter=',', quotechar='|')
for row in reader:
csvString = csvString + ','.join(row)
context['data'] = csvString
template = loader.get_template('pivottable.html')
return HttpResponse(template.render(context, request))
在pivottable.html中:
...
<h1> Test load: {{ data }}</h1> #this displays data properly
<script type="text/javascript">
$(function()
{
var input1 = "1,2,3,4" #test data declared within the function()
$("#output").pivotUI(input1, {}); #this loads properly
var input2 = {{data}} ##this doesn't work, would break the rest of the <script>
});
</script>
<div id="output" style="margin: 10px;">
</div>
我不知道如何在{{data}}
内正确加载$(function(){})
。在$(function(){})
之外,我可以正确加载{{data}}
。谢谢你的帮助
答案 0 :(得分:0)
正如@AnnaVracheva所说,我的主要问题是忘记{{data}}周围的引文。此外,我使用jquery.csv(https://github.com/evanplaice/jquery-csv)来格式化我的输入数据,一切正常。
$(function() { var input = $.csv.toArrays("{{data}}") $("#output").pivotUI(input, { rows: ["RowValue"], cols: ["ColValue"] }); });
</script>
<div id="output" style="margin: 10px;">
</div>