如何设置 django 保存通过 reportlab 创建的 pdf 的目录?
How to set the directory where django saves the pdf's created through reportlab?
我正在通过 django 视图创建 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 的保存路径?
创建 canvas 时,指定一个文件名,路径为:
p = canvas.Canvas(path + name)
如果在文件名前包含路径,文件将保存在该位置。为了良好的组织,我建议在 MEDIA_ROOT(如 settings.py 中指定)中为您的 PDF 文件创建一个单独的目录。例如:
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')
我正在通过 django 视图创建 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 的保存路径?
创建 canvas 时,指定一个文件名,路径为:
p = canvas.Canvas(path + name)
如果在文件名前包含路径,文件将保存在该位置。为了良好的组织,我建议在 MEDIA_ROOT(如 settings.py 中指定)中为您的 PDF 文件创建一个单独的目录。例如:
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')