Python / Django,生成html

时间:2018-06-28 17:16:15

标签: python django wkhtmltopdf pdfkit

我的网络应用由python 2.7和Django 1.11编写。当客户付费订阅时,它将立即生成发票pdf并通过电子邮件发送给客户。但是当我减少time.sleep时,代码无法正常工作。我想这是赛车状况。

pdf文件是使用wkhtmltopdf(0.9.9)和pdfkit生成的。睡觉需要什么时间?还是合适的方法?

我将在生成pdf后将其发送给客户。需要再次入睡以等待pdf生成吗?

output_html = current_month_folder + invoice_name + '.html'
output_filename = current_month_folder + invoice_name + '.pdf'
email_filename = invoice_name + '.pdf'
html_content = render_to_string(input_filename, context)

with open(output_html, 'w') as f:
    f.write(html_content)
    f.flush()
time.sleep(5)

pdfkit.from_file(output_html, output_filename)

1 个答案:

答案 0 :(得分:0)

您无需保存该文件并将其设置为pdf。请改用from_string

html_content = render_to_string(input_filename, context)

pdfkit.from_string(html_content, output_filename)

您不需要设置睡眠!您可以在下面放置电子邮件代码。