2015-02-07 25 views
1

我正在通过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的理想路径?如何设置django保存通过reportlab创建的pdf的目录?

回答

0

如果包含在文件名前面的道路,它将被保存在该位置。对于良好的组织结构,我建议在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') 
+1

谢谢一吨!为我工作,这是解决我的问题的更基本的方法。开心:) – 2015-02-07 14:58:41

0

当您创建画布,用指定路径的文件名:

p = canvas.Canvas(path + name)