Javascript d3 tsv不与django一起工作

Javascript d3 tsv不与django一起工作,javascript,python,django,d3.js,Javascript,Python,Django,D3.js,我知道这个问题被问了很多次,但我的问题似乎是独一无二的: 我的django观点: def data(request): event = Event.objects.get(pk=request.GET.get('epk')) occurrences = event.occurrences.all() response = HttpResponse(content_type='text/tsv') response['Content-Disposition']

我知道这个问题被问了很多次,但我的问题似乎是独一无二的:

我的django观点:

def data(request):
    event = Event.objects.get(pk=request.GET.get('epk'))
    occurrences = event.occurrences.all()

    response = HttpResponse(content_type='text/tsv')
    response['Content-Disposition'] = 'filename="data.tsv"'

    response.write('date\tclose\n')
    for occ in occurrences:
        response.write('%s\t%s\n' % (occ.timestamp.strftime('%Y-%m-%d %H:%M:%S'), occ.counter))

    return response
和js:

<script src="https://d3js.org/d3.v4.min.js"></script>
<script>
    var svg = d3.select("svg"),
        margin = {top: 20, right: 20, bottom: 30, left: 50},
        width = +svg.attr("width") - margin.left - margin.right,
        height = +svg.attr("height") - margin.top - margin.bottom,
        g = svg.append("g").attr("transform", "translate(" + margin.left + "," + margin.top + ")");

    var parseTime = d3.timeParse("%Y-%m-%d %H:%M:%S");

    var x = d3.scaleTime().rangeRound([0, width]);

    var y = d3.scaleLinear().rangeRound([height, 0]);

    var line = d3.line().x(function (d) {
        return x(d.date);
    }).y(function (d) {
        return y(d.close);
    });

    d3.tsv("{% url 'data' %}?epk={{ event.id }}", function (d) {
        d.date = parseTime(d.date);
        d.close = +d.close;
        return d;
    }, function (error, data) {

        console.log(data); // ----> the screenshot at the bottom

        if (error) throw error;

        x.domain(d3.extent(data, function (d) {
            return d.date;
        }));
        y.domain(d3.extent(data, function (d) {
            return d.close;
        }));

        g.append("g")
            .attr("transform", "translate(0," + 1 + ")")
            .call(d3.axisBottom(x)) // <---- error place
            .select(".domain")
            .remove();

        g.append("g")
            .call(d3.axisLeft(y))
            .append("text")
            .attr("fill", "#000")
            .attr("transform", "rotate(-90)")
            .attr("y", 6)
            .attr("dy", "0.71em")
            .attr("text-anchor", "end")
            .text("Occurs");

        g.append("path")
            .datum(data)
            .attr("fill", "none")
            .attr("stroke", "steelblue")
            .attr("stroke-linejoin", "round")
            .attr("stroke-linecap", "round")
            .attr("stroke-width", 1.5)
            .attr("d", line);
    });
</script>
最糟糕的是,它正在plunker上工作:

但在我的代码中,有些地方出错了。我只是不知道在哪里调试,因为错误消息非常不清楚

有人能帮我吗?这将是对人类最大的帮助

这是
console.log(数据)的屏幕截图

date    close
2017-02-12 14:07:14 1
2017-02-12 14:07:35 1
2017-02-12 17:12:14 1
2017-02-12 17:23:40 1
2017-02-12 17:51:52 1
2017-02-13 04:15:58 1