棱锥视图图层

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在通过url读取csv文件时,我想用数据映射列名   java在没有类型转换的情况下访问父类型的arraylist中的特定子类型方法,子类型的创建只有在运行时才知道   java扩展UIComponentBase时如何保存状态   java如何使用字符串作为Velocity模板?   用于调试远程/本地java应用程序的自定义调试器   JavaFx和浮动按钮   java如何修改列表中的对象?在迭代时扩展MyObject>?   java Spring框架如何避免控制器中的重复代码?   java代码名1 IOS签名   一点Bitly API有Java库吗?   jasper报告将Highcharts图表添加到使用JavaAPI生成的JasperReport模板中   swing如何在java中更改按键的颜色   java Javax Websocket使用路径参数提交登录数据,好的做法?