Django如何为{%include%}收集HTML并分配给JS变量

问题描述 投票:0回答:1

我正在使用JSPDF将HTML转换为PDF。如果我有一个呈现的页面,然后单击一个按钮只是导出适当的PDF,这非常简单,但是,我试图通过JSPDF创建收据,并在提供PDF之前呈现页面不是一个好选择。

因此,我正在使用Django,基本上我想做的就是使用模板的html呈现我需要的收据:

例如:

<script src="https://cdnjs.cloudflare.com/ajax/libs/jspdf/1.0.272/jspdf.min.js"></script>

let doc = new jsPDF();
$('#click').click(function () {
   let a  = {% include 'receipt_template.html' with data=payment_data %};
   doc.fromHTML(a, 0, 0, {
      'width': 170
   });
   doc.save('receipt.pdf');
});

但是这不起作用,因为我没有收集模板的HTML,实际上是在页面上呈现它。我正在尝试做的可能吗?

javascript django jspdf
1个回答
0
投票

您将html代码分配给a变量。

只需添加引号即可将此代码更改为:

let a  = `{% include 'receipt_template.html' with data=payment_data %}`;

更新

@Daniel Roseman所述,可能存在转义问题。

在我的示例中,您不能在`中使用receipt_template.html并将其包含在其中。您需要逃脱它们。

© www.soinside.com 2019 - 2024. All rights reserved.