Skip to main content
 首页 » 编程设计

python之如何设置 django 保存通过 reportlab 创建的 pdf 的目录

2024年10月25日33haluo1

我正在通过 django View 创建一个 pdf,使用 ReportLab API 动态地使用用户输入。以下是我实现的代码:

 from reportlab.pdfgen import canvas 
 
 p = canvas.Canvas(name)             #create pdf object 
 p.drawString(100, 100, b)           #variable b being the user input 
 p.showPage() 
 p.save()  

pdf 保存在项目文件夹中。如何设置 pdf 的保存路径?

请您参考如下方法:

如果您在文件名前包含路径,它将保存在该位置。为了良好的组织,我建议在 MEDIA_ROOT 中为您的 PDF 文件创建一个单独的目录(如您的 settings.py 中所指定)。例如:

p = canvas.Canvas(MEDIA_ROOT + 'pdf/file_name.pdf') 

或者,更好的是,在您的 settings.py 中,为您的 PDF 位置定义一个新常量:

PDF_ROOT = MEDIA_ROOT + 'pdf/' 

然后到处使用它:

p = canvas.Canvas(PDF_ROOT + 'file_name.pdf')