odt是TurboGears2的可插入应用程序,允许将.odt(openoffice/libreoffice)文档呈现为输出模板。

tgext.odt的Python项目详细描述


关于tgextadt

tgextadt是TurboGears2的一个可插入应用程序,它允许将.odt(openoffice/libreoffice)文档呈现为输出模板。

安装

tgextadt既可以从pypi安装,也可以从bitbucket安装:

pip install tgextodt

应该只对大多数用户有效

堵漏tgextadt

在您的应用程序中,config/app_cfg.py导入plug,然后在文件的end使用tgextadd调用plug:

from tgext.pluggable import plug
plug(base_config, 'tgextodt')

用法

要使用ODT模板,您必须在控制器中声明类型,如下所示:

@expose('odt:example.templates.about', content_type='application/vnd.oasis.opendocument.text')
def about(self):
    response.headerlist.append(('Content-Disposition', 'attachment;filename=filename.odt'))
    return dict(hello='Hello World')

显然,在文件夹example/templates中的example应用程序中,您应该在定义变量字段py3o.document.hello时提供名为about.odt的模板。

要在libreoffice中定义变量字段,您可以从菜单insert->;fields->;other->;variables中挖掘有关https://help.libreoffice.org/Writer/Variables的更多信息

对于更复杂的特性,比如for循环和更详细的报告内容,您需要阅读py3o库本身的文档http://py3otemplate.readthedocs.org/

现在您可以直接从/about/about.odt下载输出

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java限制C++代码访问JNI中的某些类   Android上的java DateFormat:不可解析的日期   通过json进行java迭代,并为其他请求调用多个API   Netbeans中的java JavaFX项目引发异常“输入流不能为null”   多线程Java newFixedThreadPool解释   |在java字符串中无法识别。split()方法   Java中的原始包装器类是否被视为引用类型?   Java swing。如何在intellij idea GUI设计工具中重写组件方法   数组乘矩阵   java将30GB的XML文件分割成小块XML   java通过一棵树递归找到一个节点,并返回指向该节点的路径   java如何将可观察的<Observable<List<T>>转换为可观察的<List<T>>   使用java在web服务器上更改php文件中的字符串?   java希望开发像tomcat这样的servlet容器   java希望提高编程的数学技能