简单、优雅的html、xhtml和xml生成
pml的Python项目详细描述
构建HTML
要构造HTML,请从 html.html() 的实例开始。添加 通过访问标记在该对象上的属性来标记。例如:
>>> from html import HTML >>> h = HTML() >>> h.p('Hello, world!') >>> print(h) <p>Hello, world!</p>
创建HTML时,可以提供标记名和一些文本内容 实例:
>>> h = HTML('html', 'text') >>> print(h) <html>text</html>
稍后还可以使用标记的 .text() 方法附加文本内容 或者使用增广加法。任何特定于HTML的字符( <>&;" ) 在文本中,将根据需要对HTML安全进行转义,除非 escape=false 已通过。下面的每个示例都使用一个新的 html 实例:
>>> p = h.p('hello world!\n') >>> p.br >>> p.text('more → text', escape=False) >>> p += ' ... augmented' >>> h.p >>> print(h) <p>hello, world!<br>more → text ... augmented</p> <p>
还要注意,顶级的html对象通过 违约。最后在上面,您将看到一个空的段落标记 没有内容没有结束标记。
如果标记应该有子标记,则有两个选项。您可以添加 子标签直接在标签上:
>>> l = h.ol >>> l.li('item 1') >>> l.li.b('item 2 > 1') >>> print(h) <ol> <li>item 1</li> <li><b>item 2 > 1</b></li> </ol>
注意,列表(和表)的默认行为是添加换行符 在子标记之间生成更好的输出。你也可以从中看到 例如 l.li.b 中标记的链接
标记属性也可以传入:
>>> t = h.table(border='1') >>> for i in range(2): >>> r = t.tr >>> r.td('column 1') >>> r.td('column 2') >>> print(t) <table border="1"> <tr><td>column 1</td><td>column 2</td></tr> <tr><td>column 1</td><td>column 2</td></tr> </table>
上面的一个变体是使用标记作为上下文变量。这个 以下内容在功能上与第一个列表结构相同,但是 使用稍微不同的sytax强调html结构:
>>> with h.ol as l: ... l.li('item 1') ... l.li.b('item 2 > 1')
您可以通过传递 newlines=false来关闭/打开添加新行 true 在创建时标记(或 html 实例):
>>> l = h.ol(newlines=False) >>> l.li('item 1') >>> l.li('item 2') >>> print(h) <ol><li>item 1</li><li>item 2</li></ol>
由于我们不能使用
>>> print(h.p(content, klass="styled")) <p class="styled">content</p>