2016-10-19 71 views
0

假設您已經使用web2py助手生成了一些HTML,並且想使用CODE()助手在頁面中顯示代碼。下面是一個例子設置:使用CODE()HTML幫助器呈現的縮進代碼

div = DIV(SPAN(INPUT(...)), SPAN(INPUT(...))) 
code = CODE(str(div).replace('><','>\n<')) 

呈現時,上面會顯示爲下面的行號版本:

<div> 
<span> 
<input ...> 
</span> 
<span> 
<input ...> 
</span> 
</div> 

有沒有一種簡單的方法來添加縮進格式到上面,這樣它會在網站中顯示爲縮進的HTML代碼(即CODE()幫助程序是否具有提供縮進的任何功能)?

回答

2

CODE助手不會做你的代碼的任何格式,但你可以做這樣的事情:

import xml.dom.minidom as xml 

def pretty_html(helper, indent=' '): 
    declaration = len(xml.Document().toxml()) + 1 
    doc = xml.parseString(helper.xml()) 
    return doc.toprettyxml(indent=indent)[declaration:] 

div = DIV(SPAN(INPUT(...)), SPAN(INPUT(...))) 
code = CODE(pretty_html(div)) 
+0

精美的作品。謝謝! – Boa