Curso web2py

Configurações recomendadas

A aplicação Welcome vem com dois models principais: db.py e menu.py. O model menu.py configura o menu superior do template do web2py e algumas variáveis globais. Já o model db.py possui as configurações recomendadas para o início de qualquer aplicação, implementando funcionalidades utilizadas pela maioria.

Para acessar o model db.py e dar uma olhada você tem diferentes opções. O web2py vem com um editor embutido que permite a visualização e edição dos arquivos da sua aplicação. Esse editor pode ser acessado pela página de administração do web2py e então, nas opções ao lado do nome da aplicação, clicando em Manage (Gerenciar) > Edit (Editar). A partir daí podem ser vistos os arquivos da aplicação em suas respectivas pastas e a opção de edição de cada um.

Além disso, você pode abrir os arquivos e editá-los no seu editor favorito. Lembre-se que eles se encontram salvos na pasta /applications/welcome (para o caso da aplicação Welcome) dentro da pasta descompactada do web2py.

db.py

  1. Construtor DAL(): como explicado anteriormente, o construtor DAL() irá realizar a conexão com o banco de dados bem como suas configurações.
  2. generic_patterns: configura a utilização de views genéricas. Views genéricas são os templates utilizados pelo web2py quando você não especifica nenhum outro template para a página. Elas são feitas em Bootstrap 2 (atualmente o web2py está em processo de atualização para o Bootstrap 3).
  3. Auth(): módulo para utilização da autenticação, necessário para a criação das tabelas de usuário e associado ao banco de dados criado.
  4. auth.define_tables(): gera as tabelas de usuário.
  5. auth.settings.mailer: configura o envio de e-mails.

Essas configurações serão abordadas de forma mais abrangente nos próximos capítulos, porém é importante que entenda que estão localizadas nos models pois tratam-se de configurações de banco de dados ou e-mail que deverão estar acessíveis por outras partes da aplicação.

O web2py em si não requer configurações dentro da aplicação, então utilizamos os models apenas para configurações e definições mais específicas dos nossos apps.