使用ReportLab inside Flask服务器崩溃

2024-10-03 11:17:27 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个Flask应用程序,可以执行以下操作: (here's the source code

  • 接受用户的输入
  • 根据用户输入创建变量
  • 将变量传递给exportPDF()函数
  • exportPDF()函数根据用户输入生成PDF文件
  • 将用户重定向到下载URL,以便用户在浏览器中接收该PDF文件

它已经起作用了,但只有一次。如果我想重用该页面,它会崩溃。以下是错误:

[2021-03-05 15:21:53,306] ERROR in app: Exception on / [POST]
Traceback (most recent call last):
File "c:\users\sebas\desktop\web-invoicer\venv\lib\site-packages\flask\app.py", line 2447, in wsgi_app
response = self.full_dispatch_request()
File "c:\users\sebas\desktop\web-invoicer\venv\lib\site-packages\flask\app.py", line 1952, in 
full_dispatch_request
rv = self.handle_user_exception(e)
File "c:\users\sebas\desktop\web-invoicer\venv\lib\site-packages\flask\app.py", line 1821, in 
handle_user_exception
reraise(exc_type, exc_value, tb)
File "c:\users\sebas\desktop\web-invoicer\venv\lib\site-packages\flask\_compat.py", line 39, in 
reraise
raise value
File "c:\users\sebas\desktop\web-invoicer\venv\lib\site-packages\flask\app.py", line 1950, in 
full_dispatch_request
rv = self.dispatch_request()
File "c:\users\sebas\desktop\web-invoicer\venv\lib\site-packages\flask\app.py", line 1936, in 
dispatch_request
return self.view_functions[rule.endpoint](**req.view_args)
File "C:\Users\sebas\Desktop\web-invoicer\app.py", line 49, in home
export_PDF(sample_list, full_name=full_name, adress_line=adress_line)
File "C:\Users\sebas\Desktop\web-invoicer\invoicingCopy2.py", line 141, in export_PDF
document.save()
File "c:\users\sebas\desktop\web-invoicer\venv\lib\site-packages\reportlab\pdfgen\canvas.py", line 
1277, in save
self._doc.SaveToFile(self._filename, self)
File "c:\users\sebas\desktop\web-invoicer\venv\lib\site-packages\reportlab\pdfbase\pdfdoc.py", line 
207, in SaveToFile
raise RuntimeError("class %s instances can only be saved once" % self.__class__.__name__)
RuntimeError: class PDFDocument instances can only be saved once

我对可能出现的问题已经没有什么想法了。Ple


Tags: inpyselfwebappvenvlibpackages