Curso web2py

Enviando informações

Nem todo código Python que utilizarmos na view será definido nela mesma. Às vezes, precisaremos recuperar informações do banco de dados e fazer operações mais complexas e de forma mais segura e, por isso, iremos realizar essas tarefas nas nossas funções do controller.

default.py

def gatinhos():
    gatos = db(db.gatos.id>0).select()
    return dict(gatos=gatos)

Nesse caso, queremos que a view receba o resultado da nossa consulta ao banco de dados. Por isso, ao fazer um return enviamos um dicionário. Esse dicionário enviará para a view todos os valores que queremos utilizar nela. Portanto, agora posso chamar a variável gatos na view da minha página e ela conterá todo o select que acabei de fazer.

views/default/gatinhos.html

<html>
    <body>
        {{for gato in gatos:}}
            Nome: {{=gato.nome}} </br>
            Raça: {{=gato.raca}}
            <hr />
        {{pass}}
    </body>
</html>