【问题标题】:how to create a file inside the django template如何在 django 模板中创建文件
【发布时间】:2014-05-22 05:44:54
【问题描述】:

我正在生成谷歌图表并使用 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);

我需要存储到文件中的那个 imageurl。 任何帮助将不胜感激。

【问题讨论】:

    标签: javascript django python-2.7 django-templates


    【解决方案1】:

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

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

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

    【讨论】:

    • 但我只需要将这个 url 创建到文件中。有什么办法吗..?/
    • 你想把它存储在客户端吗?
    • 在上面的代码中,我得到了 imageurl,现在我只想将它存储到文件中。
    • 如果你读了我的回答,我写得很清楚,没有秘密按钮,你必须实现它,这不是 URL,图像数据存储在 URI 编码字符串中。跨度>
    猜你喜欢
    • 1970-01-01
    • 2023-03-29
    • 2013-09-08
    • 1970-01-01
    • 2017-09-09
    • 1970-01-01
    • 2012-10-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多