我将CSV文件存储在静态文件夹中。当我将Debug设置为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 %}
这个方法的问题是我在资源中得到一个包含“data”文件(没有.csv)的页面,并且在每一行之后都有一个额外的新行。
有关我能做什么的建议还是有更好的方法来解决这个问题?
答案 0 :(得分:0)
没关系,似乎显然是错误的格式化。如果我将data.txt更改为:
,则工作正常{% for row in data %}{{row.0}},{{row.1}}
{% endfor %}