如何在django模板中创建文件

时间:2014-04-09 07:19:24

标签: javascript django python-2.7 django-templates

我正在生成谷歌图表并使用getimageuri()方法将它们转换为图像。此方法返回一个url,现在我需要将该url存储到文件中。 我不知道如何在django模板中创建文件以及如何将数据存储到其中。 以下是我在javascript中创建代码的图表:

<script type="text/javascript">
  google.load('visualization', '1', {packages: ['corechart','table']});
  function drawVisualization() {
    // Some raw data (not necessarily accurate)
    var data = google.visualization.arrayToDataTable([
         ['Job-Names', 'Pass', 'Fail'],
             {{data.0.0|safe}}
]);

    var options = {
      title : 'Jenkins Job Details for project {{data.0.1}}',
      vAxis: {title: "Job Names" , textStyle : {fontSize : 10} },
      hAxis: {title: "Number of Builds" , ticks : [2,4,6,8,10] },
      is3D: true,
  width: 1250,
  height: 550,
      colors : ["#008000", "#cc0000"],
      pointSize: 4

    };

    var chart_div = document.getElementById('chart_div');
    var chart = new google.visualization.BarChart(chart_div);

// Wait for the chart to finish drawing before calling the getImageURI() method.
google.visualization.events.addListener(chart, 'ready', function () {
chart_div.innerHTML = '<img src="' + chart.getImageURI() + '">';
imageurl = chart.getImageURI()


 });

    chart.draw(data, options);


    //var table = new google.visualization.Table(document.getElementById('table_div'));
    //table.draw(data, {showRowNumber: false});
  }

 google.setOnLoadCallback(drawVisualization);

我需要将图像存储到文件中。 任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:1)

getimageuri()实际上返回文件本身,uriencoded,看起来像:

data:image/png;base64,iVBORw0KGgoAA...

如果要存储此图像服务器端,则必须将其发送到服务器,最好使用AJAX,然后在,之前丢弃文本,然后创建使用django的文件函数从base64字符串中获取图像文件。