Web2py - Introducción

web2pyse define como un marco web gratuito de código abierto para el desarrollo ágil que involucra aplicaciones web impulsadas por bases de datos; está escrito en Python y programable en Python. Es un marco de pila completa; consta de todos los componentes necesarios, un desarrollador necesita construir una aplicación web completamente funcional.

web2py marco sigue el Model-View-Controller patrón de ejecución de aplicaciones web a diferencia de los patrones tradicionales.

  • Modeles una parte de la aplicación que incluye lógica para los datos. Los objetos del modelo se utilizan para recuperar y almacenar los datos de la base de datos.

  • Viewes parte de la aplicación, que ayuda a mostrar los datos a los usuarios finales. La visualización de datos se obtiene de Model.

  • Controlleres una parte de la aplicación, que maneja la interacción del usuario. Los controladores pueden leer datos de una vista, controlar la entrada del usuario y enviar datos de entrada al modelo específico.

  • web2pytiene una función incorporada para administrar cookies y sesiones. Después de realizar una transacción (en términos de SQL), la sesión también se almacena simultáneamente.

  • web2pytiene la capacidad de ejecutar las tareas en intervalos programados después de la finalización de ciertas acciones. Esto se puede lograr conCRON.

web2py - Flujo de trabajo

Eche un vistazo al diagrama de flujo de trabajo que se muestra a continuación.

El diagrama de flujo de trabajo se describe a continuación.

  • los Models, Views y Controller Los componentes componen la aplicación web2py del usuario.

  • Se pueden alojar varias aplicaciones en la misma instancia de web2py.

  • El navegador envía la solicitud HTTP al servidor y el servidor interactúa con Model, Controller y View para obtener la salida necesaria.

  • Las flechas representan la comunicación con los motores de la base de datos. Las consultas de la base de datos se pueden escribir en SQL sin formato o utilizando la capa de abstracción de la base de datos de web2py (que se discutirá en capítulos posteriores), de modo queweb2py El código de la aplicación es independiente de cualquier motor de base de datos.

  • Model establece la conexión de la base de datos con la base de datos e interactúa con el Controller. losController por otro lado interactúa con el View para representar la visualización de datos.

  • los Dispatcherasigna la URL solicitada como se indica en la respuesta HTTP a una llamada de función en el controlador. La salida de la función puede ser una cadena o una tabla hash.

  • Los datos son procesados ​​por View. Si el usuario solicita una página HTML (la predeterminada), los datos se procesan en una página HTML. Si el usuario solicita la misma página en XML, web2py intenta encontrar una vista que pueda representar el diccionario en XML.

  • Los protocolos admitidos de web2py incluyen HTML, XML, JSON, RSS, CSV y RTF.

Modelo-Vista-Controlador

los model-view-controller La representación de web2py es la siguiente:

Modelo

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

los Modelincluye la lógica de los datos de la aplicación. Se conecta a la base de datos como se menciona en la figura anterior. Considere que SQLite se está utilizando y está almacenado enstorage.sqlitearchivo con una tabla definida como empleado. Si la tabla no existe, web2py ayuda creando la tabla respectiva.

Controlador

El programa "default.py" es el Controller.

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

En web2py, La asignación de URL ayuda a acceder a las funciones y módulos. Para el ejemplo anterior, el controlador contiene una única función (o "acción") llamada empleados.

La acción tomada por el Controller devuelve una cadena o un diccionario de Python, que es una combinación de clave y valor que incluye un conjunto local de variables.

Ver

"default/contacts.html" es el View.

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

Para el ejemplo dado, View muestra la salida después de que se ejecuta la función de controlador asociada.

El propósito de esto Viewes representar las variables en el diccionario, que está en forma de HTML. losView El archivo está escrito en HTML, pero incrusta código Python con la ayuda de {{ and }} delimitadores.

El código incrustado en HTML consta de código Python en el diccionario.

Empiece con web2py

web2py viene en paquetes binarios para los principales sistemas operativos como Windows, UNIX y Mac OS X.

Es fácil instalar web2py porque:

  • Se compone del intérprete de Python, por lo que no es necesario que lo tenga preinstalado. También hay una versión de código fuente que se ejecuta en todos los sistemas operativos.

  • El siguiente enlace comprende los paquetes binarios de web2pypara descargar según la necesidad del usuario - www.web2py.com

  • los web2pyframework no requiere preinstalación a diferencia de otros frameworks. El usuario debe descargar el archivo zip y descomprimirlo según los requisitos del sistema operativo.

  • los web2py framework está escrito en Python, que es un lenguaje dinámico completo que no requiere ninguna compilación o instalación complicada para ejecutarse.

  • Utiliza una máquina virtual como otros lenguajes de programación como Java o .net y puede compilar de forma transparente el código fuente escrito por los desarrolladores.

Sistema operativo Mando
Unix y Linux (distribución de fuentes) python web2py.py
OS X (distribución binaria) abrir web2py.app
Windows (distribución binaria web2py) web2py.exe
Windows (distribución fuente web2py) c: /Python27/python.exe web2py.py