Django 使用platypus生成简单的pdf报告
我正在尝试使用django中的reportlab生成pdf报告。通过直接使用画布,我可以得到一个简单的报告,但看起来鸭嘴兽应该会让事情变得更简单。但我不能让一个简单的鸭嘴兽报告工作Django 使用platypus生成简单的pdf报告,django,pdf,reportlab,platypus,Django,Pdf,Reportlab,Platypus,我正在尝试使用django中的reportlab生成pdf报告。通过直接使用画布,我可以得到一个简单的报告,但看起来鸭嘴兽应该会让事情变得更简单。但我不能让一个简单的鸭嘴兽报告工作 def all_comps_pdf_report(request): # Set up HttpResponse object response = HttpResponse(mimetype='application/pdf') response['Content-Disposition'
def all_comps_pdf_report(request):
# Set up HttpResponse object
response = HttpResponse(mimetype='application/pdf')
response['Content-Disposition'] = 'attachment; filename=all_competencies.pdf'
from reportlab.platypus.doctemplate import SimpleDocTemplate
from reportlab.platypus import Paragraph
from reportlab.lib import styles
doc = SimpleDocTemplate(response)
Elements = []
p = Paragraph("Hello World", styles['Heading1'])
Elements.append(p)
doc.build(Elements)
return response
我收到一个错误,
'module'对象不可订阅
,它抱怨行p=段落(“Hello World”,styles['Heading1'])
。我做错了什么?您得到的是“模块”对象是不可订阅的
,因为您将模块视为一个数组:)
如果你浏览reportlab的源代码,你会发现styles只是一个模块,里面有很多东西
要使此示例起作用,您需要导入样式表:从reportlab.lib.styles导入getSampleStyleSheet
,然后导入styles=getSampleStyleSheet()
或者您可以创建自己的样式表-查看reportlab的文档了解如何做到这一点:)您得到的是
“模块”对象是不可订阅的
,因为您将模块视为数组:)
如果你浏览reportlab的源代码,你会发现styles只是一个模块,里面有很多东西
要使此示例起作用,您需要导入样式表:从reportlab.lib.styles导入getSampleStyleSheet
,然后导入styles=getSampleStyleSheet()
或者您可以创建自己的样式表-查看reportlab的文档了解如何做到这一点:)
styles['Heading1']
=>styles
==module,['Heading1']
为了清晰起见,不允许只突出显示错误发生的确切位置。继续,这里没什么可看的~~~>style['Heading1']
=>style
==module,['Heading1']
为了清晰起见,不允许只突出错误发生的确切点。继续,这里没什么可看的~~>