Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用python django从html代码和pdf文件以及sendgrid API V3生成pdf_Python_Django_Pdf_Sendgrid_Email Attachments - Fatal编程技术网

如何使用python django从html代码和pdf文件以及sendgrid API V3生成pdf

如何使用python django从html代码和pdf文件以及sendgrid API V3生成pdf,python,django,pdf,sendgrid,email-attachments,Python,Django,Pdf,Sendgrid,Email Attachments,我有一个包含模板代码的变量,如 template='' 你好,世界 ''' 我想生成一个pdf,并附上带有下面sendgrid代码的文件 导入操作系统 从sendgrid导入SendGridApicClient 模板=“” 你好,世界 消息={ “个性化设置”:[ { “致”:[ { “电子邮件”:test@example.com' } ], “主题”:“使用Twilio SendGrid发送很有趣” } ], “发件人”:{ “电子邮件”:test@example.com' }, “内容”:

我有一个包含模板代码的变量,如

template=''
你好,世界
'''
我想生成一个pdf,并附上带有下面sendgrid代码的文件

导入操作系统
从sendgrid导入SendGridApicClient
模板=“”
你好,世界
消息={
“个性化设置”:[
{
“致”:[
{
“电子邮件”:test@example.com'
}
],
“主题”:“使用Twilio SendGrid发送很有趣”
}
],
“发件人”:{
“电子邮件”:test@example.com'
},
“内容”:[
{
“类型”:“文本/普通”,
“值”:模板
}
]
}
尝试:
sg=SendGridAPIClient(os.environ.get('SENDGRID\u API\u KEY'))
响应=sg.send(消息)
打印(响应状态\ U代码)
打印(响应.正文)
打印(响应.标题)
例外情况除外,如e:
打印(str(e))
目前我已经创建了一个发票模板,现在我想知道如何使用该模板生成pdf,并将该pdf文件与电子邮件一起附加


我的模板代码太长了,所以我没有将其包含在这里

我使用PDKFIT来完成您希望实现的类似任务

我创建HTML文件作为模板,然后遍历它们并转换为PDF

pdfkit是“离线的”(它不使用在线转换API),从数据安全的角度来看,这对我来说非常重要

import pdfkit
import os

files = os.listdir('generated/')

options = {'disable-javascript': None}

for file in files:

       convert = str('generated/' + file)
       converted = str('upload/' + file + ".pdf")
       pdfkit.from_file(convert, converted, options=options)

       os.remove('generated/' + file)
       print(file + " deleted!")

这是两个不同的问题(i)如何将html转换为pdf(例如,多种解决方案)和(ii)向sendgrid邮件添加附件(sendgrid有很好的文档,如果您尝试过的话,例如,您应该这么说……)我已经使用pdfkit生成了pdf,我正在寻找任何其他生成pdf并随电子邮件附上的方法