2016-10-19 2 views
0

Предположим, что вы создали HTML-код с помощью помощников web2py, и вы хотите отобразить код на своей странице с помощью помощника 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

Смежные вопросы