我将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 %}