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.
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.
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'))
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é'))