文本模板库

Lina的Python项目详细描述


丽娜

lina是一个模板引擎,体现了google用python 3编写的CTemplate的精神。它可以用来生成任何类型的基于文本的文档。几年来,丽娜在一个大型C/C++项目中被用来生成代码。

直到2014年8月底,这个图书馆被称为miranda

要求

Python3.4或更高版本。由于缺少枚举,早期版本的python将无法工作。

安装

lina可从pypi获得,因此您可以使用pip

直接安装
pip install lina

开始

最简单的模板是:

Hello {{name}}!

可以使用

import lina
template = lina.Template ('Hello {{name}}!')
print (template.RenderSimple (name = "Bob"))

这将打印:

Hello Bob!

真正的力量来自于可以重复和嵌套的块。例如:

{{#Users}}Hello {{name}}!{{/Users}

使用

渲染
Users = [{'name':'Alice'}, {'name':'Bob'}]

将打印:

Hello Alice!Hello Bob!

这可以通过使用格式化程序进一步改进。格式化程序在值写入输出流之前修改它。lina附带了一组预定义的格式化程序,如大写转换。可以为值或块定义格式化程序。块级格式化程序的一个很好的例子是list-separator格式化程序。如果我们将前面示例的模板更改为:

{{#Users:list-separator=NEWLINE}}Hello {{name}}!{{/Users}

结果将是:

Hello Alice!
Hello Bob!

值级格式化程序例如是大写格式化程序。{{value:upper-case}}value设置为Test将导致TEST

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

推荐PyPI第三方库


热门话题
javapojo到org。布森。文件,反之亦然   java突然增加了G1老一代的承诺内存,减少了Eden的大小   java为什么对多个RXJava观察对象不执行并行执行?   java中的枚举是故障安全的吗?如果是,怎么做?   java是等待字符串变为相等的正确方法   java CodeAbbey挑战14个数据输入问题?   在java中的任意位置插入。util。列表   java替换html中的值   java需要帮助破译一个小堆栈跟踪:我使用的是哪种WS?   java Guice依赖项注入器空指针异常   java如何在3D引擎中实现视图剪裁平面?   JavaEclipseRCP:操作与命令需要更新   java如何使用XPAGES DesignerFacesServlet显示泰语字母(以及另一个亚洲/阿拉伯字母)   java装饰器模式问题   java我对空间复杂性的分析正确吗?   不显示java OpenGL ES 2纹理   使用java问题中的wc命令计算行数   java为什么空指针异常取决于条件的顺序?   Java日期在同一天或同一个月   java在使用lambda表达式时在变量中存储一些值