我已经做了一个实现打印pdf功能。我使用金字塔、wkhtmltopdf和jinja2生成pdf。它在gunicorn很好用。但是,当我将它部署到生产中(我使用圆环在生产中运行)时,该函数将失败,不会出现任何错误消息。源代码如下:
pdf_renderer = PDFRenderer()
request = self.request
html = render('test.jinja2' , pdf_data, request)
response = request.response
response.write(pdf_renderer(html))
response.content_type = 'application/pdf'
response.headerlist.append(('Content-Disposition', 'attachment; filename='test.pdf'))
#Everything is ok except the final statement.
#circusd cannot run the statement "return response"
#However, gunicorn can do it
return response那么,你对我的问题有什么建议或想法吗?它是如此直截了当,我不明白为什么它在gunicorn中工作得很好,但在圆圈中却失败了。
发布于 2013-05-03 08:26:13
尝试设置content_length。您使用的WSGI服务器可能不支持流响应(如果使用.write()或.app_iter而不设置content_length,则会发生这种情况)。对于用例,更有可能的是只设置body,它将为您处理所有事情。
response.body = pdf_renderer(html)https://stackoverflow.com/questions/16353119
复制相似问题