用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在使用JavaFX在IntelliJ上创建Jar文件时遇到问题   java是否可以提交从WEBINF中的JSF页面位置呈现的表单?   SQLServerJava。lang.NoClassDefFoundError:com/microsoft/sqlserver/jdbc/SQLServerDataSource   在doGet()中创建的java get value od单选按钮   来自flyweight的java自移动资源   java使两个类在一个接口中协同工作   java Euler 12,三角形数的列表因子   标记器和“线程中的异常”主“java.lang.NullPointerException”运行时错误   java Junit:需要部分模拟类   java如何使多个线程并行运行,从而使线程一个接一个地执行   在JAVA(Android)中更改HTML值   java Spring引导JPA分页异常   调试连接。java文件作为的源代码。IntelliJ的罐子?