2014-01-12 4 views
2

Здесь я пытаюсь проверить FusionCharts с Flask, и я не могу заставить его работать, пока он работает, когда он используется как простой HTML и javascript без кода Python.Fusion Charts not rendering

layout.html

<!DOCTYPE html> 
<html> 
<head> 
    <title>Flask Fusion</title> 
    <script type="text/javascript" src="../static/fusion.js"></script> 
    <script type="text/javascript" src="../static/jquery.min.js"></script> 
</head> 
<body> 
{% block content %} 
{% endblock %} 
</body> 
</html> 

index.html

{% extends 'layout.html' %} 

{% block content %} 
    <div id="chartContainer">FusionCharts XT will load here!</div> 
    <script type="text/javascript"><!-- 

     var myChart = new FusionCharts("../static/Column3D.swf", 
     "myChartId", "400", "300", "0"); 
     myChart.setXMLUrl("data.xml"); 
     myChart.render("chartContainer"); 

    // --> 
    </script> 
{% endblock %} 

Структура каталогов

enter image description here

Я обнаружил, что data.xml файл возвращает 404, видя бревна из консоли, которые являются как этот

127.0.0.1 - - [12/Jan/2014 13:25:35] "GET/HTTP/1.1" 200 - 
127.0.0.1 - - [12/Jan/2014 13:25:35] "GET /static/fusion.js HTTP/1.1" 304 - 
127.0.0.1 - - [12/Jan/2014 13:25:35] "GET /static/jquery.min.js HTTP/1.1" 304 - 
127.0.0.1 - - [12/Jan/2014 13:25:35] "GET /data.xml HTTP/1.1" 404 - 
127.0.0.1 - - [12/Jan/2014 13:25:35] "GET /static/Column3D.swf HTTP/1.1" 304 - 
127.0.0.1 - - [12/Jan/2014 13:25:35] "GET /data.xml?FCTime=261 HTTP/1.1" 404 - 

Но путь к data.xml является совершенно правильным. Я не знаю, почему это не рендеринг. Пожалуйста помоги.

ответ

2

data.xml не извлекается и не помещается в график во время визуализации шаблона фляжки. Когда клиент, загрузивший fusion.js lib, вызывает инициализацию диаграммы, делается запрос на получение ресурса, и поэтому он должен быть доступен с клиентской стороны.

data.xml недоступен (следовательно, 404) со стороны клиента (так как он находится в папке template/) и на вершине, что путь не так, как вы можете увидеть здесь:

... 
127.0.0.1 - - [12/Jan/2014 13:25:35] "GET /data.xml HTTP/1.1" 404 - 
127.0.0.1 - - [12/Jan/2014 13:25:35] "GET /static/Column3D.swf HTTP/1.1" 304 - 
... 

/static/Column3D.swf забирается с помощью http://whateveryour.domain/static/Column3D.swf тогда как /data.xml извлекается с использованием http://whateveryour.domain/data.xml, которого не существует.

Попробуйте поместить свой data.xml в статическую папку (ведь это статический ресурс больше, чем шаблон) и получить к нему доступ так же, как и с Column3D.swf, и он должен работать нормально.