试图从 javascript 中的 django 获取列表列表作为 csv 的数据

<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)


慕斯王
浏览 182回答 1
1回答

守着一只汪

首先,使用适当的数据交换格式(即 JSON)在 Python 和 Javascript 之间传递数据,而不是依赖于语法之间的相似性。其次,您需要在模板中将您的数据标记为安全以避免自动转义。所以:context = {&nbsp; &nbsp; 'tweet_list' : tweet_list,&nbsp; &nbsp; 'csv_list' : json.dumps(csv_list),&nbsp; &nbsp; 't': len(tweet_list)}return render(request,"index.html",context)...var data = JSON.parse('{{ csv_list|safe }}');虽然我必须说总体上我不确定为什么要在 Javascript 中生成这个 CSV,而不是允许用户直接从后端下载它作为文件。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python