Willian Fernandes

Desenvolvimento Web com Python, SQLObject e PSE – Parte 2

Comente »

Continuando o post anterior, vamos agora instalar e configurar nosso ambiente para começar o desenvolvimento com Python, SQLObject e PSE.

Vou assumir que você utiliza Ubuntu, ou qualquer outra distribuição Linux baseada no Debian. Caso você utilize outro Sistema Operacional, verifique na página oficial dos programas (veja no post anterior) como instalar cada um deles.

O Elcio publicou um post explicando, detalhadamente, como instalar o apache2, o mod_python e o PSE na versão 7.10 do Ubuntu, incluindo uma correção necessária para essa versão do Ubuntu.

Após executar os passos descritos pelo Elcio, falta apenas instalar o SQLObject:

sudo apt-get install python-sqlobject
[ATUALIZADO] Seguindo a dica do Elcio:
sudo apt-get install python-mysqldb python-setuptools
sudo easy_install sqlobject

Tudo instalado e configurado? Ok, agora vamos entender um pouco o funcionamento do PSE para depois desenvolvermos algo funcional.

O PSE trabalha com arquivos na extensão .pt, então vamos fazer um teste criando um arquivo chamado hello_world.pt no diretório do apache (no Ubuntu esse diretório fica em /var/www):

<?="Hello World"?>

As tags <? e ?> indicam a abertura e o fechamento de código Python e tags especiais do PSE, que veremos mais adiante.

Execute no navegador: http://localhost/hello_world.pt.

Vamos alterar agora nosso arquivo para integrar código Python com o PSE gerado:

hello_world.pt

<?= msg ?>

hello_world.py

import datetime
msg = "Hello Word<br>Hoje é %s" % datetime.date.today().strftime("%d/%m/%Y")

Execute novamente no navegador: http://localhost/hello_world.pt.

Perceba que escrevemos código Python normalmente e que o arquivo hello_world.pt identificou a variável msg e escreveu seu conteúdo na tela. Isso acontece porque o PSE integra automaticamente arquivos que tenham o mesmo nome, ou seja, ele sempre executara hello_world.py junto com hello_world.pt.

No próximo post mostrarei como trabalhar com includes no PSE e formulários. Prometo que os próximos posts não demorarão tanto quanto este. ;)