我正在使用Python,DJANGO和Google Appengine编写我的第一个应用程序。基本流程是用户将数据输入到数据库中并创建一个报告表单,该表单以PDF格式导出。我的所有工作除了最后一块之外我都遇到了一个我无法找到的问题。我有最新版本的Appengine Launcher,Python 2.7,DJANGO 1.4和XHTML2PDF 0.0.4。我把它与我的应用程序捆绑在一起,但是当我启动我的应用程序时,我在页面上和日志中出现错误:
加载应用程序配置时出现致命错误:
Invalid object: the library "xhtml2pdf" is not supported in "/Users/username/project/app.yaml", line 31, column 1
我需要做一些额外的事情或配置,还是版本问题?
感谢你提供帮助,你可以给新手,
答案 0 :(得分:3)
app.yaml
第31行的内容是什么?
xhtml2pdf
不在App Engine 2.7支持的third-party libraries列表中。 (这些是包含C扩展的库,需要额外的审查才能支持。纯Python库通常是O.K。)
答案 1 :(得分:1)
包含xhtml2pdf的最简单方法是将xhtml2pdf src文件夹拖放到主目录中
来自xhtml2pdf导入比萨
您还需要reportlab,拖放工作。我不得不使用http://ruudhelderman.appspot.com/testpdf的修改版本,但是其他版本已经使用了非修改版本。
答案 2 :(得分:0)
xhtml2pdf库未包含在应用引擎运行时中。不过,您可以自己包含它。 python27运行时支持lxml库,html5lib需要它(xhtml2pdf需要它)。但是,有一个更简单的解决方案:使用支持HTML的conversion api - > PDF转换,并且将更容易使用。