Introdução
Vamos começar através de um exemplo. É o mesmo exemplo usado no tutorial oficial. Abra um arquivo novo no seu editor de códigos preferido. Pode chamar esse arquivo de code.py.
Digite nesse arquivo a primeira linha:
import web
Essa linha importa o framework web.py.
Esta variável, urls, que é na verdade uma tupla, conterá os dados necessários para fazer o mapeamento de endereço-função(você entenderá isso em breve). Ela é formada assim: a primeira parte é uma expressão regular que deverá 'bater' com o endereço. Exemplos de expressões regulares válidas para se pôr nessa tupla são: '/', '/help/faq/', '/item/(\d+)', etc. ( O 'd+' significa o mesmo que uma cadeia de dígitos.urls = ('/', 'view')
Isso faz com que a classe view, ao receber uma requisição do tipo GET(ela é feita quando você abre a página normalmente), imprima na tela o texto 'Hello World', um texto puro, não é HTML.class view:
def GET(self):
print 'Hello World'
Essa linha faz com que o framework produza uma página com várias informações úteis quando ocorrer um erro interno na sua aplicação. Logicamente você vai querer comentar essa linha quando lançar o seu sistema para os usuários, assim eles não verão aquela linguagem de outro mundo =0.web.internalerror = web.debugerror
Essa linha faz com que o web.py rode a sua aplicação conjutamente com o servidor apenas quando o arquivo code.py for executado diretamente. Assim quando o seu código code.py for apenas importado o servidor não será lançado nem sua aplicação executada.Quanto ao web.run. O primeiro argumento, urls, é a tupla definida logo no começo que serve para o mapeamento de páginas-funções. Os argumentos posteriores servem para 'middleware' -- funções que ajudam o desenvolvedor durante o processo de desenvolvimento da aplicação.if __name__ = '__main__': web.run(urls, web.reloader)
Nesse nosso exemplo usamos a função de middleware web.reloader, que faz com que a página atualiza-se sempre que o código desta seja modificado. Portanto, eliminando a necessidade de ficar reiniciando o servidor sempre que houver alguma modificação no código. Você provavelmente vai querer desativar essa função quando lançar a sua aplicação web para os usuários, pois não há necessidade real nesse caso, contudo ela é de inestimável valor durante o desenvolvimento.
Existe, além da web.reloader, a função de middleware web.profiler, que exibe o tempo usado por cada função da sua página durante a execução de sua aplicação, possibilitando a otimização de código.
Agora execute a sua aplicação num terminal: python code.py para iniciar um servidor web em conjunto com sua aplicação (para mudar a porta padrão, 8080, para, por exemplo, 8002, execute-o da seguinte maneira: python code.py 8002).
Sua aplicação também pode ser executada com um script CGI ou um script FastCGI -- o web.py fará a coisa certa automaticamente. E como o web.py é feito sobre o WSGI, a interface padrão para aplicações Web em Python, você também poderá rodar sua aplicação sobre outras aplicações, o mod_python, por exemplo, é um destes.
Agora se você visitar a página: http://localhost:8080, deverá ver escrito 'Hello World'.
***
É isso. Até o próximo artigo: Templates.
Ruivaldo Neto ( ruivaldo la no gmail.com )