1

.svg ファイルを保存せずに、Pygal チャートを作成してフラスコに表示しようとしています。これは可能ですか?私が試したすべての組み合わせでエラーが発生しました。テンプレート:

{% extends "base.html" %}
{% block content %} {{chart}} {% endblock %}

ビュー:

@app.route('/chart')
def test():
bar_chart = pygal.HorizontalStackedBar()
bar_chart.title = "Remarquable sequences"
bar_chart.x_labels = map(str, range(11))
bar_chart.add('Fibonacci', [0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55])
bar_chart.add('Padovan', [1, 1, 1, 2, 2, 3, 4, 5, 7, 9, 12]) 
chart = bar_chart.render()
return render_template('test.html', chart=chart )

誰が私が間違っているのか教えてもらえますか?

4

2 に答える 2

3
import pygal

@app.route('/something.svg')
def graph_something():
    bar_chart = pygal.Bar()
    bar_chart.add('Fibonacci', [0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55])
    return bar_chart.render_response()

そして、あなたのhtmlファイルにそれを参照させてください:

<body>
  <figure>
    <embed type="image/svg+xml" src="/mysvg.svg" />
  </figure>
</body>
于 2014-08-13T17:05:32.817 に答える