跳转到主要内容

Mako模板绑定Morepath

项目描述

# more.mako

`more.mako` 是 [Morepath](http://morepath.readthedocs.io) 的扩展,当您使用 `.mako` 扩展名时,它为 [Mako](http://makotemplates.org) 添加了模板支持。
示例用法

```python

from more.mako import MakoApp
class App(MakoApp)

pass
@App.path(path='persons/{name}')

class Person(object)
def __init__(self, name)
self.name = name
@App.template_directory()

def get_template_directory()
return 'templates'
@App.html(model=Person, template='person.mako')

def person_default(self, request)
return {'name': self.name}
然后在`templates`子目录中的`person.mako`中
```

```html

<html>
<body>
<p>Hello {{name}}!</p>
</body>
</html>
</html>
```

您还可以使用特殊语法 `template#defname.mako` 从模板渲染defs,如下面的示例所示
`template#defname.mako`,如下例所示

from more.mako import MakoApp
@App.html(model=Root, template='defs#hello.mako')
def hello()
return {'name': 'World'}
```

然后在`defs.mako`中

<html>
<%def name="hello(name)">
<p>你好 ${name}!</p>
</%def>
```

请注意,Mako 文档使用的是 `.html` 扩展名来
表示 Mako 模板,而此扩展名使用 `.mako`。

要控制 Mako 的行为,你可以在你的应用中定义一个 `mako` 设置部分
,例如

from more.mako import MakoApp
@App.setting_section(section='mako')
def get_setting_section()
return {
'default_filters': ['h'],
'format_exceptions': True
}
```

有关 Mako 配置选项的详细信息,请参阅 [Mako API
文档](http://docs.makotemplates.org/en/latest/usage.html#api-reference)。

变更记录

0.1.0 (2016-09-08)
------------------

- 首次公开发布

项目详情


由以下支持