2012-06-13 159 views
0

我正在使用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 

是有什么额外的,我需要做或配置或是一个版本问题?

感谢您的帮助,你可以给一个新手,

回答

3

什么是您app.yaml线31说呢?

xhtml2pdf不在App Engine 2.7支持的third-party libraries列表中。 (这些是包含C扩展,这需要额外的审查,以支持库。纯Python库通常OK)

+0

感谢Dave的回应。第31行有 - 名称:xhtml2pdf版本:“最新”。我为DJANGO找到的所有教程都包括Reportlab和XHTML2PDF。我得到了Reportlab,但没有引起轰动,但它阻止了我使用XHTML2PDF。 –

1

包括xhtml2pdf最简单的方法是拖放xhtml2pdf src文件夹进入主目录和

from xhtml2pdf导入比萨

您还需要reportlab,拖放它的作品。我不得不从http://ruudhelderman.appspot.com/testpdf使用它的修改版本,但其他人已经获得了未修改版本的工作。

0

xhtml2pdf库不包含在应用程序引擎运行时。不过,你可以自己包含它。 python27运行时支持html5lib所需的lxml库(这是xhtml2pdf所要求的)。但是,有一个更简单的解决方案:使用支持HTML - > PDF转换的conversion api,并且使用起来更容易。