棱锥视图图层

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是否等于或是的子目录?   java为什么我在hasNextLine上出错,而在hasNext上却没有?   如果条件变为真,如何停止while循环读取文件的每一行?   java JAXB:当使用XML模式(.xsd)验证XML文件时,如果验证失败,我能知道是哪个XML标记导致了它吗?   java Hadoop Reduce输出文件从未为大数据创建过   java EJB3,查询返回了一个以上结果的JPA错误。getSingleResult()   绑定StringProperty时发生java多线程错误   java三元运算符和基元类型   java在结果集上迭代时的奇怪行为   java EJB工厂类   java Firebase数据库   java需要帮助使用正则表达式来提取标记中的数据   不使用StringBuffer的java反向字符串。反向   java AIR admob问题#3500:扩展上下文没有名为CacheInterstitual的方法   java为什么我要在Spring Boot应用程序上配置DB连接时出现这个异常?创建名为“dataSource”的bean时出错   来自用户特定文件的java Spring引导重写属性