Willian Fernandes

Desenvolvimento Web com Python, SQLObject e PSE – Parte 3

Comente »

Continuando com a série sobre desenvolvimento web[bb] com Python[bb], vou mostrar agora como deixar as coisa mais interessante com includes e formulários.

Includes

É muito comum utilizar arquivos separados que estarão em várias partes da aplicação. Por exemplo, podemos ter um arquivo para o cabeçalho HTML[bb], um outro para o menu e um terceiro para o rodapé do HTML[bb].

Mas antes de criarmos nossos arquivos de include, teremos que configurar o PSE para apontar para nosso diretório de includes. Para isso abra o arquivo pse.conf (no Linux este arquivo fica em /etc/pse/pse.conf). Procure pela linha

;IncludePath = /app/servlet/path,/other/servlet/path

E troque por:

IncludePath = /var/www/includes,.

Caso você não esteja usando Linux[bb] (eu uso o Ubuntu[bb]) configure para o diretório que o Apache aponta. Isso muda de sistema para sistema.
Dentro deste diretório crie um sub-diretório chamado includes e dentro deste sub-diretório vamos colocar os arquivos abaixo:

cabecalho.pt

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" dir="ltr" lang="pt-BR">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <title>Biblioteca ABC</title>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <meta name="language" content="pt-br" />
</head>
<body>
    <div id="geral">
        <div id="topo">
            <h1>Biblioteca ABC</h1>
        </div>
        <div id="menu">
            <ul>
                <li class="primeiro"><a href="home.pt">Home</a></li>
                <li><a href="categorias_list.pt">Categorias</a></li>
                <li><a href="livros_list.pt">Livros</a></li>
                <li><a href="clientes_list.pt">Clientes</a></li>
                <li class="ultimo"><a href="sair.pt">Sair</a></li>
            </ul>
        </div>

rodape.pt

        <address class="rodape">
            &copy; Biblioteca ABC
        </address>
    </div>
</body>
</html>

Ok, os arquivos estão criados!
Agora vamos criar o arquivo principal do nosso sistema. Este arquivo terá um formulário de login, porém ele fará include do cabeçalho e do rodapé.
Salve o arquivo abaixo na raiz de onde ficará a sua aplicação, ou seja, em um diretório acima do sub-diretório includes.

index.pt

<?= pse.include("cabecalho.pt") ?>
<form id="frm-login" method="post" action="">
    <fieldset>
        <legend>Logar no Sistema</legend>
        <label>E-mail: <input type="text" id="email" name="email" /></label>
        <label>Senha: <input type="password" id="senha" name="senha" /></label>
        <input type="submit" id="entrar" name="entrar" value="Entrar" class="botao" />
    </fieldset>
</form>
<?= pse.include("rodape.pt") ?>
 

Perceberam o quanto é simples?
Toda página PSE possui um objeto chamado pse que contém vários métodos e objetos e no exemplo acima utilizamos o método include. Mais para frente mostrarei outras funcionalidades do objeto pse.

O método include recebe como parâmetro o nome do arquivo que iremos incluir. O PSE procura este arquivo nos diretórios que configuramos no arquivo pse.conf.

Para não prolongar muito, explicarei como trabalhar com formulários utilizando PSE no próximo post.

Prometo não demorar muito para postar o próximo post da série e aproveito para pedir o feedback de vocês em relação à esta série.

9 comentários para "Desenvolvimento Web com Python, SQLObject e PSE – Parte 3"

  1. # Igor Escobar disse:
    20/02/2008 às 23:15:36

    Legal Willian!
    Parabens!

  2. # Inside disse:
    21/02/2008 às 13:20:20

    Muito bom, aguardando os próximos…

    []‘s

  3. 26/02/2008 às 14:05:29

    William, você merce !! PARABÉNS E MUITA BOA SORTE !

    Que a Luz sempre te acompanhe.

    abs

  4. # Rafael Marin disse:
    08/03/2008 às 07:48:15

    Cara, agora sim eu tô me interessando mesmo em aprender Python.
    Com PSE parece ser tão mais fácil.

  5. # Carlos Henrique disse:
    27/03/2008 às 11:19:44

    Olá Willian, estou gostando muito da aula, mas tenho uma duvida.

    por exemplo de eu estiver desenvolvendo 2 aplicações diferentes e preciso deixar todos os arquivos separados inclusive os includes.
    Como eu faço para especificar na configuração do pse?

  6. # Diego Felix disse:
    30/03/2008 às 10:36:11

    Olá William..
    Parabéns pelo Tutorial..

    Cara, estou tendo dificuldades em instalar e configurar o mod_phyton.
    Pesquisei a respeito mas não achei nada de concreto, poderia postar um tutorial ensinando a instalar e configura-lo?

    []‘s

  7. 31/03/2008 às 12:43:54

    Carlos Henrique:
    Dentro do pse.conf basta colocar outro caminho separado por vírgula. Por exemplo:
    IncludePath = /var/www/projeto1/includes,/var/www/projeto2/includes,.

    Mas deve-se tomar cuidado na hora de nomear os arquivos. Se você tiver um arquivo chamado cabecalho.pt dentro do diretório includes de cada projeto o PSE utilizará o primeiro que ele encontrar, ou seja, o do projeto1. Por isso eu costumo colocar o nome do projeto como prefixo dos arquivos de include:
    projeto1_cabecalho.pt
    projeto2_cabecalho.pt

    Infelizmente foi a única maneira que encontrei para trabalhar com vários projetos utilizando PSE.

    ===================================

    Diego Felix:

    Qual o Sistema Operacional que você está utilizando? Infelizmente ainda não consegui fazer o PSE funcionar no Windows…

  8. # Diego Felix disse:
    01/04/2008 às 15:27:56

    Então, utilizo Windows,
    Porém estou tendo dificuldades em instalar o mod_python, framework qualquer coisa eu utilizo outro e tento seguir mais ou menos, isso se houver a possibilidade.
    Se puder me ajudar eu já agradeço.
    Fiz a solicitação do Ubuntu há um tempo, quando chegar creio que ficará mais fácil, mas por enquanto quero treinar no Windows, isso se conseguir instalar.

    Abraços.

  9. # Baduel disse:
    18/04/2008 às 13:54:58

    To na espera da continuidade da série em…….

Deixe um comentário

*

(obrigatório)Não é aceito código HTML: adicione-o no pastie.org e poste apenas o link.