具有简单数据结构的模板引擎
项目描述
`flexable` 是具有简单数据结构的模板引擎。
它由 str、unicode、dict、tuple、list 和 Element 组成。
用法
将结构化值合并到 xhtml 模板中。
>>> t = Template()
>>> t.fromstring("<div/>")
>>> str(t)
'<div/>'
>>> t.merge('hello')
>>> str(t)
'<div>hello</div>'
>>> t = Template()
>>> t.fromstring("<div><span class='y'/></div>")
>>> t.merge({'y':['1', '2']})
>>> str(t)
'<div><span class="y">1</span><span class="y">2</span></div>'
>>> t = Template()
>>> t.fromstring("<div><span class='y'/></div>")
>>> t.merge({'y':[({'@id':'m1'}, '1'),
... ({'@id':'m2'}, '2')]})
>>> str(t)
'<div><span class="y" id="m1">1</span><span class="y" id="m2">2</span></div>'
>>> t.fromstring("<div><div class='box'><span class='x'/><span
class='y'/></div></div>")
>>> t.merge({'box':[{'x':'1', 'y':'2'},
... {'x':'3', 'y':'4'}]})
>>> str(t)
'<div><div class="box"><span class="x">1</span><span
class="y">2</span></div><div class="box"><span class="x">3</span><span
class="y">4</span></div></div>'
>>> t.fromstring("<div/>")
>>> t.merge(ET.Element('span'))
>>> str(t)
'<div><span/></div>'
要将 flexable 用作 wsgi 应用程序的模板引擎,您可以使用
flexable.plugin:FlexablePlugin。
这是 python.template_engine 的入口点。
在 TurboGears 上的示例
controllers.py:
@expose(template="flexable:flexable_example.templates.example")
def example(self)
return dict(message="这是 flexable 消息。",
contents=""" This is main contents from controller.
flexable将合并值与具有类属性的HTML模板合并。
""")
flexable_example/templates/example.html:
<?xml version="1.0"?>
<html xmlns="http://www.w3.org/1999/xhtml">
<body>
<h1>Flexable 模板</h1>
<span class="message"></span>
<p class="contents"></p>
<span class="widget"/>
</body>
</html>
你将得到
<html xmlns="http://www.w3.org/1999/xhtml">
<body>
<h1>Flexable 模板</h1>
<span class="message">这是flexable消息。</span>
<p class="contents"> 这是控制器的主要内容。
flexable将合并值与具有类属性的HTML模板合并。
</p>
</body>
</html>
它由 str、unicode、dict、tuple、list 和 Element 组成。
用法
将结构化值合并到 xhtml 模板中。
>>> t = Template()
>>> t.fromstring("<div/>")
>>> str(t)
'<div/>'
>>> t.merge('hello')
>>> str(t)
'<div>hello</div>'
>>> t = Template()
>>> t.fromstring("<div><span class='y'/></div>")
>>> t.merge({'y':['1', '2']})
>>> str(t)
'<div><span class="y">1</span><span class="y">2</span></div>'
>>> t = Template()
>>> t.fromstring("<div><span class='y'/></div>")
>>> t.merge({'y':[({'@id':'m1'}, '1'),
... ({'@id':'m2'}, '2')]})
>>> str(t)
'<div><span class="y" id="m1">1</span><span class="y" id="m2">2</span></div>'
>>> t.fromstring("<div><div class='box'><span class='x'/><span
class='y'/></div></div>")
>>> t.merge({'box':[{'x':'1', 'y':'2'},
... {'x':'3', 'y':'4'}]})
>>> str(t)
'<div><div class="box"><span class="x">1</span><span
class="y">2</span></div><div class="box"><span class="x">3</span><span
class="y">4</span></div></div>'
>>> t.fromstring("<div/>")
>>> t.merge(ET.Element('span'))
>>> str(t)
'<div><span/></div>'
要将 flexable 用作 wsgi 应用程序的模板引擎,您可以使用
flexable.plugin:FlexablePlugin。
这是 python.template_engine 的入口点。
在 TurboGears 上的示例
controllers.py:
@expose(template="flexable:flexable_example.templates.example")
def example(self)
return dict(message="这是 flexable 消息。",
contents=""" This is main contents from controller.
flexable将合并值与具有类属性的HTML模板合并。
""")
flexable_example/templates/example.html:
<?xml version="1.0"?>
<html xmlns="http://www.w3.org/1999/xhtml">
<body>
<h1>Flexable 模板</h1>
<span class="message"></span>
<p class="contents"></p>
<span class="widget"/>
</body>
</html>
你将得到
<html xmlns="http://www.w3.org/1999/xhtml">
<body>
<h1>Flexable 模板</h1>
<span class="message">这是flexable消息。</span>
<p class="contents"> 这是控制器的主要内容。
flexable将合并值与具有类属性的HTML模板合并。
</p>
</body>
</html>
项目详情
下载文件
下载您平台上的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。
源分发
flexable-0.3dev.tar.gz (6.2 kB 查看散列值)
构建分发
flexable-0.3dev-py2.5.egg (12.9 kB 查看散列值)
关闭
flexable-0.3dev.tar.gz的散列值
算法 | 散列摘要 | |
---|---|---|
SHA256 | f203fc8ab86c8568bf417c6e87f38e350c435365a595f377a46f2629b67c5c1c |
|
MD5 | 96dbe22524fe9bda2fd84ccfbc0ab9e3 |
|
BLAKE2b-256 | a056427ee394c48cf675ba43714ce1514e1596f219fc50be9d7b4ca5d9b735a3 |
关闭
flexable-0.3dev-py2.5.egg的散列值
算法 | 散列摘要 | |
---|---|---|
SHA256 | 54d110483ef497d61e2091832f7f03986012714372da21c4102825c9c556cf60 |
|
MD5 | 1b363408fca8dc15493933a154f4c688 |
|
BLAKE2b-256 | 8fc2ee3b9e3f16e95137271be6e5f1183cb022c2014501b015ec08fbded3a526 |