无法在django中的单独文件中显示csv数据

无法在django中的单独文件中显示csv数据,django,csv,Django,Csv,我试图在我的项目中显示一些csv(逗号分隔值)。所以我有一个html按钮,通过JavaScript调用django视图函数。这是我的django视图函数: def make_csv(request): testdata = "[{\"severity\":\"0\",\"description\":\"USB Connected\",\"date\":\"01/01/2015\",\"time\":\"11:35:20\"},{\"severity\":\"3\",\"descripti

我试图在我的项目中显示一些csv(逗号分隔值)。所以我有一个html按钮,通过JavaScript调用django视图函数。这是我的django视图函数:

def make_csv(request):
    testdata = "[{\"severity\":\"0\",\"description\":\"USB Connected\",\"date\":\"01/01/2015\",\"time\":\"11:35:20\"},{\"severity\":\"3\",\"description\":\"USB Disconnected\",\"date\":\"01/01/2015\",\"time\":\"10:30:19\"}]";
    data = json.loads(testdata)
    response = HttpResponse(content_type='text/csv')
    response['Content-Disposition'] = 'attachment; filename="eventlog.csv"'

    writer = csv.writer(response,csv.excel)
    writer.writerow(data[0].keys())
    for row in data:
        writer.writerow(row.values())
    return response 

但我无法在浏览器中显示任何文件。我还可以看到使用JavaScript返回的值。是否有办法在浏览器中将结果显示为单独的文件,以便用户下载?

如何添加一个普通的
链接,而不是按钮上的单击事件,可能带有
目标=“\u blank”
attribute指向该URL?问题是我无法从视图中以文件形式返回结果如果您手动打开您现在通过Javascript请求的URL会发生什么情况?我可以通过这种方式获取文件,那么您遇到的不是Django问题,而是文件处理问题-查看此帖子,它对你的问题有很多想法: