Curso web2py

Funções Embutidas

O web2py vem com algumas funções para facilitar ainda mais o desenvolvimento, simplificando algumas ações rotineiras dentro da construção de uma aplicação. Algumas delas, inclusive, já utilizamos nos exemplos, porém ainda não foram explicadas. Atente-se às principais funções abaixo.

URL

A função URL() é uma das mais importantes do web2py. Ela gera URLs de caminhos internos para as páginas e arquivos estáticos. É definida da seguinte forma:

URL(application, controller, function, args, vars, scheme, host)

Dessa forma, uma URL /meuapp/default/index/x/y?z='teste' é representada como:

URL('meuapp', 'default', 'index', args=['x', 'y'], vars={'z':'teste'})

Já caminhos absolutos, isto é, com domínio definido, podem apresentar-se como:

URL(scheme='http', host='www.seudominio.com')

Esses argumentos também podem receber como valor True, indicando os scheme e host atuais.

Existem outros argumentos passíveis de uso, para saber mais consulte a documentação.

redirect

A função redirect() é uma função de redirecionamento, ou seja, ela te redirecionará para a página que você informou como argumento.

redirect(URL('meuapp', 'default', 'index'))

Internacionalização (T)

A função T() é responsável pela internacionalização. É recomendável que todas as strings que forem constantes sejam definidas utilizando essa função. A string será armazenada dentro do arquivo de tradução quando seu código for executado e, após traduzida, será exibida de acordo com as configurações de linguagem do navegador.

def index():
    mensagem = T('Hello, my friend!')
    return dict(mensagem=mensagem)

Além disso, a função T() aceita formatações especiais para palavras variáveis.

def index():
    mensagem = T('Hello, %(nome)s!' % dict(nome='Zé'))