2016-10-19 3 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

関連する問題