在我开始我的项目之前,我有一个关于Jinja 2中的javascript的问题,所以我可以理解jinja是否是正确的解决方案
- 我想创建一个html电子邮件模板,它将为每个用户填充一些值,然后通过电子邮件向他们发送呈现的模板。我已经设置了电子邮件功能
- 我想在页面上包含一些来自chart.js的图表,但由于电子邮件不允许使用JS,因此我必须在发送电子邮件之前将图表转换为图像。
在我开始我的项目之前,我有一个关于Jinja 2中的javascript的问题,所以我可以理解jinja是否是正确的解决方案
1条答案
按热度按时间beq87vna1#
不,金贾(或任何类似的模板系统)无法在后端将JavaScript图表转换为图像,因为JavaScript是在浏览器中运行的,所以你需要一个无头的浏览器引擎(或类似的JS运行时)在后端进行转换。这是可行的,但是这会使你的环境更加复杂,因为你需要维护一个JS运行时沿着Python环境。如果你想朝这个方向发展,可以看看使用NodeJS导出图表的chartjs-node-canvas,或者任何无头浏览器。
不过我强烈推荐一种不同的方式:使用Python绘图库,如Matplotlib。在电子邮件中,您甚至无法使用任何JS交互,因此静态绘图库非常适合此任务。此外,它是Python,因此无需向您的环境添加不同的运行时。