棱锥视图图层

pyramid_layer的Python项目详细描述


金字塔层

https://secure.travis-ci.org/fafhrd91/pyramid_layer.png

金字塔层允许用两个参数来寻址模板, 类别和名称。也可以使用一组目录 对于每个层,在这种情况下金字塔层搜索模板 在每个目录中。它允许覆盖模板而不更改 代码。例如,表单库可以定义层字段

>> ls ./fields/
.. bool.pt
.. file.pt
...
.. textarea.pt

在应用程序中,可以通过定义 字段的新层类别:

>> ls ./myproject/fields/
.. bool.pt

通常顶级目录是一个类别,目录中的文件是模板。 例如“form:view.lt”:

`form` - layer category
`view` - template name
`.lt`  - custom pyramid renderer factory

可以使用add_layerconfig指令定义层:

>>config=Configurator()..config.include('pyramid_layer')....config.add_layer('form',path='./path_to_form_dirctory/form/')

表单目录可以包含任何模板:

>>./form/..view.pt..actions.jinja2

可以将这些模板中的任何一个用作棱锥体渲染器路径:

>>config.add_view(..name='view.html',..renderer='form:view.lt')

或:

>>config.add_view(..name='actions.html',..renderer='form:actions.lt')

可以在呈现模板之前运行python代码。 有add_tmpl_filter指令和pyramid_layer.tmpl_filter 装饰工:

>>defform_actions(context,request):..return{'url':...}>>config.add_tmpl_filter('form:actions',form_action,name='custom')

或:

>>importpyramid_layer>>@pyramid_layer.tmpl_filter('form:actions',name='custom')..defform_actions(context,request):..return{'url':...}

表单操作函数在呈现模板之前被调用。 在注册之前,必须用add_layerdirectve定义层 模板过滤功能。

定制

可以注册任意数量的图层类别和任意数量的 可以在每个类别中注册层。它不需要重写 类别中的所有模板。例如,可以覆盖 view.pt模板:

>> config.add_layer('form', 'custom', path='path_to_form_directory_2/form')

新目录的内容:

>> ./another_path/form/
..   view.jinja2

现在viewview.html使用view.jinja2模板。但是actions.html 使用原始模板。

另一个例子,如果您想要来自ptah.form包的自定义字段 你只需要创建一些文件夹,将其添加为“fields”层,然后 bool.pt此文件夹的模板,类似于:

>> config.add_layer('fields', 'custom', 'mypackage:fields')

以及

>> .mypackage/fields/
..    bool.pt

请求方法

金字塔层还提供请求方法呈现tmpl。它接受 路径:

..  ${structure: request.render_tmpl('form:actions')

。在这种情况下,lt扩展是可选的。

玩家

许可证

金字塔层是根据BSD许可证提供的。

更改

0.2(2012年1月11日)

  • 添加了布局子系统

0.1(2012年10月30日)

  • 初始版本

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

推荐PyPI第三方库


热门话题
java如何通过Intellij的查找功能替换整行代码?   java如何根据语言选择Url?   Java泛型方法无法调用约束更宽松的另一个泛型方法并返回其值   java操作JComboBox   java搜索两个字段匹配的记录   Java中的跳跃算法   用于在对象上添加/删除功能的java范例   java什么是com类文件的修复程序。谷歌。常见的基础找不到谓词?   这个算法的时间复杂度是多少   如何在forEach中执行操作并在Java流中将其传递给groupingBy   在java web应用程序中集成mahout推荐引擎时出现异常   java如何为Alfresco构建metawriter bean?   java循环的最长回文子序列   java如何配置Jitsimeet录制?   为什么java ToCharray语句有时才起作用?   java dependsOnGroups顺序orderTestng   java如何将对象转换为bean   安卓 studio中的java ArrayList<Event>结果大小为0