我有一项任务是使用动态数据呈现HTML页面并将其转换为PDF,但是,我在实现它时遇到了问题。
def makepdf(request):
if request.POST:
chatvs = Competirors.objects.get(id = int(request.POST.get('competitor', '')))
jivo_staff = Manager.objects.get(id = int(request.POST.get('manager', '')))
business = Field.objects.get(id = int(request.POST.get('filed', '')))
business = business.link.all().order_by('?')[0:3]
context = {
"chatvs" : chatvs,
"jivo_staff" : jivo_staff,
"business" : business,
}
tmpl = get_template('marketing/jivopdf.html', )
html = tmpl.render(context)
# and i have a problem there with pdfkit
我使用的是Pdfcrowd API,但它会削减所有CSS样式并且看起来不太好看。至于vvwkhtmltopdf / pdfkit - 我不知道如何使它成为一个呈现的HTML页面,因为它只访问url / file / string。
有没有办法渲染准备好的HTML页面?
答案 0 :(得分:0)
很难说不知道你得到的错误。
但是我可以从你的代码中看到,如果这是你真正的代码。看起来像Competirors.objects.get
中的拼写错误,可能应该被命名为竞争对手。
如果您从表单获取POST数据,则不应直接使用它。 永远不要相信用户输入...
答案 1 :(得分:0)
我建议你试试weasyprint。