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

标签 python django pdf canvas

我正在通过 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')

关于python - 如何设置django保存通过reportlab创建的pdf的目录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28383280/

相关文章:

django - 确定完整的 Django url 配置

django - 我想使用 http ://xxxxxx/{id} and http://xxxxxx/{md5} together

linux - 自动连接 PDF 中的文本框

pdf - 将PDF文件与ghostscript结合使用,如何包含原始文件名?

objective-c - CGPDFScannerScan 不触发回调函数

python - 用 python 有效提取 1-5 克

python - 寻找基于 Python 的网络应用程序来提供文件

Python - 如何一次性有效地写入/读取压缩文件中的 JSON 文件?

python - 输入列表并查找相同输入 python 的最长连胜

带 Docker、Nginx、Gunicorn 和 SSL 的 Django