【问题标题】:Django Static CSV to be used by d3d3 使用的 Django 静态 CSV
【发布时间】:2016-04-15 11:56:08
【问题描述】:

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

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

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

【问题讨论】:

标签: django python-2.7 csv d3.js


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-11-23
    • 2018-06-30
    • 1970-01-01
    • 2019-03-05
    • 2017-05-19
    • 1970-01-01
    • 2016-06-11
    相关资源
    最近更新 更多