用Jinja2模板构建文件的方法

amplecode.recipe.template的Python项目详细描述


amplecode.recipe.template是使用jinja2模板生成文件的构建方法。配方配置了一个jinja2环境,默认情况下相对于buildout目录,允许模板扩展并包含与环境相关的其他模板。

可从pypi:http://pypi.python.org/pypi/amplecode.recipe.template/

下载

构建选项

  • 模板文件(必需):一个或多个jinja2模板文件路径。
  • 目标文件(必需):多个目标文件路径之一。文件数必须与模板文件数匹配。
  • base dir:jinja2环境的基本目录。模板文件路径与此目录相关。默认为buildout目录。
  • 目标可执行文件:一个或多个指示目标文件可执行性的布尔标志(yes no true false 1 0)。如果只给了一个标志,它将应用于所有目标文件。
  • 鸡蛋:为鸡蛋列表保留,指定时方便地转换为pkg_resources.workingset

附加的选项被简单地转发到模板,并且来自buildout中列出的所有其他部分的选项:部分通过parts.<part-name>.<option-name>parts[<part-name>][<option-name>]提供。

值列表

配方选项可以包含一个或多个由空白分隔的值。当您想在jinja2模板中的空格分隔值上迭代时,可以使用拆分筛选器:

#!/bin/sh
{% for cmd in cmds|split %}
   echo "{{ cmd }}"
{% endfor %}

最小示例

foo.txt是从foo.txt.jinja2创建的,没有任何额外选项:

[buildout]
parts = foo

[foo]
recipe = amplecode.recipe.template
template-file = foo.txt.jinja2
target-file = foo.txt

较大示例

foo.txt是从myapp/foo.txt.jinja2创建的,bar.sh是从myapp/bar.sh.jinja2创建的,第二个是可执行的,两个模板都可以使用指定的附加选项:

[buildout]
parts = foo

[foo]
recipe = amplecode.recipe.template
base-dir = myapp
template-file =
    foo.txt.jinja2
    bar.sh.jinja2
target-file =
    foo.txt
    bar.sh
target-executable =
    false
    true
project_name = Another Example
author = Me

更改日志

请参见更改日志文件

许可证

请参见许可文件

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

推荐PyPI第三方库


热门话题
java WebClient请求级别超时抛出名为default onErrorDropped的运算符   java JAXB外部绑定文件错误   Freemarker中的java转义宏参数值   java正在同步来自不同对象{已编辑}的线程   java如何在另一个类上更新活动中的元素   java Hibernate连接查询   java可以使用Apache Crunch创建类似于图形的数据结构吗?   java在JLabel的开头加上3个点   java 安卓应用程序显示线程错误   java@RequestBody在Spring中总是空的   java Android异步任务永远不会结束   具有多个属性的java Jaxws枚举   java中的安卓 Stripe InvalidRequestException   多线程java。util。非多线程程序中的ConcurrentModificationException   Minecraft Java插件如何删除HashMap中存储的所有块   空Java字符串的大小   从AJP连接器请求检索Shibboleth属性的java   oracle11g将Java类文件加载到Oracle数据库