Django静态CSV将由d3使用



我将CSV文件存储在静态文件夹中。当我将"调试"设置为True时,这是非常有效的。

d3.csv("{% static 'app/data/data.csv' %}" ...

然而,当我将Debug设置为False(用于生产)时,我会收到一个404错误,表示该文件不存在。我正试图通过在单独的页面上提供CSV文件并使用来解决这个问题

d3.csv("{% url 'app:data' %}" ...

以下是在views.py中为CSV文件提供服务的功能:

def data(request):
    response = HttpResponse(content_type='text/csv')
    response['Content-Disposition'] = 'inline; filename="data.csv"'
    with open("...absolute path.../data/data.csv", "rb") as csvData:
        csv_list = list(csv.reader(csvData))
    csvData.close()
    csv_data = csv_list
    t = loader.get_template('app/data.txt')
    c = Context({'data': csv_data})
    response.write(t.render(c))
    return response

和data.txt:

{% for row in data %}
{{row.0}},{{row.1}}
{% endfor %}

这种方法的问题是,我得到的页面在资源中包含"数据"文件(no.csv),并且每行后面都有一行额外的新行。

关于我能做什么有什么建议吗?或者有更好的方法来处理这个问题吗?

没关系,似乎只是格式错误。如果我将data.txt更改为:,效果良好

{% for row in data %}{{row.0}},{{row.1}}
{% endfor %}

最新更新