Curso web2py

HTML Helpers

Podemos, também, gerar código HTML a partir de algumas funções do web2py que funcionam como auxiliares. Por exemplo:

{{=DIV('Conteúdo da Div', _id='teste', _class='testando')}}

É renderizado como:

<div id="teste" class="testando">Conteúdo da Div</div>

Todos os argumentos que iniciam com um underline (_) são interpretados como atributos da tag e, portanto, são renderizados como tais.



Além disso, helpers podem ser utilizados em conjunto:

{{=DIV(B(I("Isso é um teste"))), _class="testando")}}

É o mesmo que:

<div class="testando"><b><i>Isso é um teste</i></b></div>



E eles também podem ser enviados para a view:

def pagina_legal():
    conteudo = DIV(B('Muito legal!'), _class="sua_classe")
    return dict(conteudo=conteudo)

E lá utilizados:

<html>
    <body>
    {{=conteudo}}
    </body>
</html>


Principais helpers

A

Traduz-se nas tags <a> </a>, utilizado para construir links.

>>> A('Clique aqui', callback=URL('pagina_legal'), target="t")
<a href="/pagina_legal" target="t">Clique aqui</a>

B

Traduz-se nas tags <b> </b>, transformando seu conteúdo em negrito.

>>> B('Conteúdo em negrito')
<b>Conteúdo em negrito</b>

DIV

Traduz-se nas tags <div> </div>, criando uma nova div.

>>> DIV('Conteúdo da DIV', _id="seu_id", _class="sua_classe")
<div id="seu_id" class="sua_classe">Conteúdo da DIV</div>

FORM e INPUT

Traduz-se nas tags <form> </form> e <input>, respectivamente, criando um formulário com seus inputs.

>>> FORM(INPUT(_type='checkbox', _name='teste', _value='testando', value=False), _action=URL('contato'), _method='post')
<form action="/contato" method="post">
    <input type="checkbox" name="teste" value="testando"  />
</form>

I

Traduz-se nas tags <i> </i>, transformando seu conteúdo em itálico.

>>> I('Conteúdo em itálico')
<i>Conteúdo em itálico</i>

IMG

Traduz-se na tag <img>, gerando imagens.

>>> IMG(_src='http://example.com/image.png',_alt='teste')
<img src="http://example.com/image.png" alt="test" />