Web2py - Introdução

web2pyé definido como uma estrutura da web de código aberto para desenvolvimento ágil que envolve aplicativos da web orientados por banco de dados; é escrito em Python e programável em Python. É uma estrutura de pilha completa; consiste em todos os componentes necessários que um desenvolvedor precisa para construir um aplicativo da web totalmente funcional.

web2py quadro segue o Model-View-Controller padrão de execução de aplicativos da web, ao contrário dos padrões tradicionais.

  • Modelé uma parte do aplicativo que inclui lógica para os dados. Os objetos no modelo são usados ​​para recuperar e armazenar os dados do banco de dados.

  • Viewé uma parte do aplicativo, o que ajuda a renderizar a exibição de dados aos usuários finais. A exibição de dados é obtida do modelo.

  • Controllerfaz parte do aplicativo, que lida com a interação do usuário. Os controladores podem ler dados de uma visualização, controlar a entrada do usuário e enviar dados de entrada para o modelo específico.

  • web2pytem um recurso embutido para gerenciar cookies e sessões. Depois de confirmar uma transação (em termos de SQL), a sessão também é armazenada simultaneamente.

  • web2pytem a capacidade de executar as tarefas em intervalos programados após a conclusão de determinadas ações. Isso pode ser alcançado comCRON.

web2py - Fluxo de Trabalho

Dê uma olhada no diagrama de fluxo de trabalho fornecido abaixo.

O diagrama de fluxo de trabalho é descrito abaixo.

  • o Models, Views e Controller componentes constituem o aplicativo web2py do usuário.

  • Vários aplicativos podem ser hospedados na mesma instância do web2py.

  • O navegador envia a solicitação HTTP para o servidor e o servidor interage com Model, Controller e View para buscar a saída necessária.

  • As setas representam a comunicação com o (s) mecanismo (s) de banco de dados. As consultas de banco de dados podem ser escritas em SQL bruto ou usando o web2py Database Abstraction Layer (que será discutido nos próximos capítulos), de modo queweb2py o código do aplicativo é independente de qualquer mecanismo de banco de dados.

  • Model estabelece a conexão do banco de dados com o banco de dados e interage com o Controller. oController por outro lado interage com o View para renderizar a exibição de dados.

  • o Dispatchermapeia a URL solicitada conforme fornecida na resposta HTTP a uma chamada de função no controlador. A saída da função pode ser uma string ou uma tabela hash.

  • Os dados são renderizados pelo View. Se o usuário solicitar uma página HTML (o padrão), os dados serão processados ​​em uma página HTML. Se o usuário solicitar a mesma página em XML, web2py tenta encontrar uma visualização que possa renderizar o dicionário em XML.

  • Os protocolos suportados de web2py incluem HTML, XML, JSON, RSS, CSV e RTF.

Model-View-Controller

o model-view-controller representação de web2py é a seguinte -

Modelo

"db.py" is the model:
db = DAL('sqlite://storage.sqlite')
db.define_table(employee, Field('name'), Field(‘phone’))

o Modelinclui a lógica dos dados do aplicativo. Ele se conecta ao banco de dados conforme mencionado na figura acima. Considere que o SQLite está sendo usado e está armazenado emstorage.sqlitearquivo com uma tabela definida como funcionário. Se a tabela não existir, o web2py ajuda criando a respectiva tabela.

Controlador

O programa "default.py" é o Controller.

def employees():
   grid = SQLFORM.grid(db.contact, user_signature = False)
   return locals()

Dentro web2py, O mapeamento de URL ajuda a acessar as funções e módulos. Para o exemplo acima, o Controlador contém uma única função (ou "ação") chamada funcionários.

A ação realizada pelo Controller retorna uma string ou um dicionário Python, que é uma combinação de chave e valor incluindo um conjunto local de variáveis.

Visão

"default/contacts.html" é o View.

{{extend 'layout.html'}}
<h1>Manage My Employees</h1>
{{=grid}}

Para o exemplo dado, View exibe a saída após a função do controlador associado ser executada.

O propósito disto Viewé renderizar as variáveis ​​no dicionário, que está na forma de HTML. oView arquivo é escrito em HTML, mas incorpora código Python com a ajuda de {{ and }} delimitadores.

O código embutido em HTML consiste em código Python no dicionário.

Comece com web2py

web2py vem em pacotes binários para todos os principais sistemas operacionais como Windows, UNIX e Mac OS X.

É fácil instalar o web2py porque -

  • É composto pelo interpretador Python, então você não precisa tê-lo pré-instalado. Também existe uma versão do código-fonte que roda em todos os sistemas operacionais.

  • O link a seguir contém os pacotes binários de web2pypara download conforme necessidade do usuário - www.web2py.com

  • o web2pyframework não requer pré-instalação ao contrário de outros frameworks. O usuário precisa baixar o arquivo zip e descompactá-lo de acordo com os requisitos do sistema operacional.

  • o web2py framework é escrito em Python, que é uma linguagem dinâmica completa que não requer nenhuma compilação ou instalação complicada para rodar.

  • Ele usa uma máquina virtual como outras linguagens de programação, como Java ou .net, e pode compilar de forma transparente o código-fonte escrito pelos desenvolvedores.

Sistema operacional Comando
Unix e Linux (distribuição de origem) python web2py.py
OS X (distribuição binária) abra web2py.app
Windows (distribuição binária web2py) web2py.exe
Windows (distribuição web2py de origem) c: /Python27/python.exe web2py.py