<script type="text/javascript">/* csv_list: 从 django 索引函数 (views.py) 得到的列表列表 eg:[['abc','1'],['xyz','0']] */ var data = {{csv_list}}; function genrate_csv() { var csv = 'Tweet, Polarity\n'; data.forEach(function(row) { csv += row.join(','); csv += "\n"; }); console.log(csv); var new_elm = document.createElement('a'); new_elm.href = 'data:text/csv;charset=utf-8,' + encodeURI(csv); new_elm.target = '_blank'; new_elm.download = 'data.csv'; new_elm.click(); } </script> 显示报价的 html 代码时出错 显示报价的 html 代码时出错 django code: (views.py) def index(request): if request.method=="POST" and request.POST.get('query') != "": tweet_list = script.tweets(request.POST.get('query'),request.POST.get('numtweets')) pos,neg,net,csv_list = script.analysis(tweet_list) context = { 'tweet_list' : tweet_list, 'csv_list' : csv_list, #passed the list of list 't': len(tweet_list) } return render(request,"index.html",context)
1 回答
守着一只汪
TA贡献1872条经验 获得超3个赞
首先,使用适当的数据交换格式(即 JSON)在 Python 和 Javascript 之间传递数据,而不是依赖于语法之间的相似性。
其次,您需要在模板中将您的数据标记为安全以避免自动转义。所以:
context = {
'tweet_list' : tweet_list,
'csv_list' : json.dumps(csv_list),
't': len(tweet_list)
}
return render(request,"index.html",context)
...
var data = JSON.parse('{{ csv_list|safe }}');
虽然我必须说总体上我不确定为什么要在 Javascript 中生成这个 CSV,而不是允许用户直接从后端下载它作为文件。
添加回答
举报
0/150
提交
取消