gpt4 book ai didi

Flask 动态 graphviz 和 SVG 示例

转载 作者:行者123 更新时间:2023-12-03 16:49:51 36 4
gpt4 key购买 nike

我正在尝试创建一个 Graphviz 图像,但是没有保存图像并加载到网页中,而是将其作为 SVG 传递。

它有点工作,这里是例子:

from flask import Flask
from graphviz import Graph


app = Flask(__name__)


@app.route('/svgtest')
def svgtest():
chart_data = Graph()

chart_data.node('H', 'Hello')
chart_data.node('W', 'World')
chart_data.edge('H', 'W')

chart_output = chart_data.pipe(format='svg')

return render_template('svgtest.html', chart_output=chart_output)

在我的 HTML 页面中有

<embed type="image/svg+xml" src={{ chart_output|safe }} />

但是输出不正确

output example

任何帮助都会很棒,我开始自言自语,但即使那样也没有帮助。

谢谢。

最佳答案

您可以像这样使用 svg:

{{ chart_output|safe }}

此外,您还可以使用 png 格式:

@app.route('/')
def svgtest():
chart_data = Graph()

chart_data.node('H', 'Hello')
chart_data.node('W', 'World')
chart_data.edge('H', 'W')


chart_output = chart_data.pipe(format='png')
chart_output = base64.b64encode(chart_output).decode('utf-8')

return render_template('svgtest.html', chart_output=chart_output)

和这样的 html:

<img src="data:image/png;base64,{{chart_output|safe}}" />

编码愉快!

关于Flask 动态 graphviz 和 SVG 示例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51038073/

36 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com