[ Login | Register | Lost password? ]

Criando o blog - Parte I

Por: Junior Tada
13/02/2014

Chega de conversa Fiada!

Bom vamos lá, se você já passou pelo primeiro e segundo post, então você já tem o python, web2py e alguma IDE de sua preferência instalados. Para iniciar o web2py de um duplo click no executável da pasta do web2py (para usuários windows), ele irá abrir uma janela onde você deve informar a porta e uma senha para entrar em modo admin. Quem é usuário linux também pode executar o modo gráfico, mas já recomendo a utilizar por comando, pois é assim que irá utilizar em algum servidor de teste. Vou explicar o comando:

python /local_onde_o_web2py_está/web2py.py -a senha_para_admin -i 0.0.0.0 –nogui

python para rodar o arquivo web2py.py, -a seguido de senha para entrar no modo admin, -i para o ip, no caso localhost e por ultimo -nogui que é para não abrir a interface gráfica.

Dica: se você usuário linux usa cairo-dock pode criar um atalho passando este comando ou então (e isto também serve para usuários windows) criar um arquivo executável com o comando.

Ao abrir o navegador e digitar o endereço:

127.0.0.1:8000 (ou porta que você escolheu)

será apresentado a aplicação welcome. No canto direito existe um botão que te levará até a aplicação admin. Será solicitado a senha que você definiu.

Crie uma nova aplicação, basta digitar o nome e clicar no botão. Você já será redirecionado para o modo edição, se você clicar em qualquer arquivo é possível fazer a edição na própria página web, sem a necessidade de uma IDE ou um editor de texto. Mas digo novamente, isto não é nada produtivo. É uma mão na roda para corrigir qualquer pequeno problema direto no servidor, mas para desenvolver o projeto utilize uma IDE, vi, vim, emacs, nano, gedit, etc. Existe um modo mobile também mas eu nunca testei, portanto não posso dizer nada. Se você visualizar sua aplicação perceberá que ela tem a mesma cara da aplicação welcome. Isto porque a aplicação welcome está definida como scaffolding. Como mencionei no outro post é possível alterar isto. Bom quanto a aparência do site, façam o que quiserem eu recomendo instalar um plugin com um template pronto. Basta baixar, fazer o upload e instalar. Simples assim.

Após isto, vamos editar o arquivo layout.html que fica solto dentro da pasta view. Dentro da tag <head> vamos editar o título e as meta tags.

No título você pode escrever o título ou deixar o que já está.

<title>

{{=response.title or request.application}}

</title>

As chaves servem para executar código python, portanto o título do site após a renderização será o title definido ou o nome da aplicação.

As meta tags devem ser escritas em html mesmo, author, description, keywords, etc.

Após isso é preciso incluir os arquivos de javascript e css:

{{response.files.append(URL(request.application,'static','plugin_layouts/layouts/Customize/style.css'))}}

{{response.files.append(URL('static','js/jquery-1.11.0.min.js'))}}

{{response.files.append(URL('static','js/jquery.flexisel.js'))}}

{{include 'web2py_ajax.html'}}

 

O primeiro é o css do layout, o segundo são alguns que eu adicionei. Baixe o arquivo jquery da versão que você quiser e salve na pasta web2py/seu_app/static/js.

URL('static','js/jquery-1.11.0.min.js') é helper que carrega ajuda a criar tags html de forma simples por meio de código python. Na documentação oficial do web2py tem uma lista com todos os helper e uma breve descrição/exemplos de como se usa.

O outro arquivo é um carousel que estou utilizando. Pode fazer o download aqui ou usar qualquer outro, desde que salve e aponte de forma correta.

Dentro da tag <style> apague tudo que não for utilizar. No caso eu deixei apenas o estilo para a div de erros e a div de menu.

Por ultimo o favicon: <link rel="shortcut icon" href="../static/images/favicon.ico" type="image/x-icon"> Crie qualquer favicon e salve na postas static/images.

<body>

Dentro da tag <body> eu vou utilizar o menu de login e o modo de autenticação do web2py. Vou explicar melhor quando for falar do db.py do Models. Aqui é apenas a exibição dele.

{{try:}}{{=auth.navbar(action=URL('home','user'))}}{{except:pass}}

Um try/except simples. Ele tenta carregar o menu de autenticação, jogando a ação para o controller home na função (def) user.

TODA VEZ QUE UTILIZAR TRY, IF, ELSE, FOR É NECESSÁRIO FECHAR COM PASS

Sim em caixa alta mesmo, para nunca ser esquecido. O pass no final é necessário porque aqui dentro das chaves {{}} não existe identação de código, portanto é assim que o web2py sabe que o loop terminou.

Complete o layout com código html comum e dentro da área para o conteúdo (centro da página, a escolha é sua) insira:

{{include}}

É o ponto onde será incluído o código dos arquivos html que forem sendo chamados pelas funções (def) dos controllers. Você pode criar vários layouts, cada um com uma aparência de uma sessão do seu site. Quando mais reuso de código melhor.

 

No próximo post vamos trabalhar nos models.

Categoria: Programação

Tags: ['programacao,python,web2py,web,html']

Comentários: